日期:2014-05-17  浏览次数:20383 次

DataBinder.Eval(Container, "DataItem.strValue")数据显示问题


<ul>
   <asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li>
                    
        <%--  正常显示值--%>             
   <input type="button" onclick="javascript:window.location='?action=del&sortsid=<%# Eval("strValue") %>'" value="<%# Eval("strValue") %>" />
               

  <%--  正常显示值--%>  
<%# DataBinder.Eval(Container, "DataItem.strValue").ToString() == "Lanier Clothes" ? Eval("strValue") : "no"%>


 <%--  不正常,为什么input按钮中显示的值仅仅是空格前的字符?--%>
 <%# DataBinder.Eval(Container, "DataItem.strValue").ToString() == "at home" ? "<input id=\"Button1\" type=\"button\" value=" + DataBinder.Eval(Container, "DataItem.strValue").ToString() + " />" : "not"%>


</li>
                     
 </ItemTemplate>
</asp:Repeater>
</ul>


为什么input按钮中显示的值仅仅是空格前的字符?

例如:获取的值是at home,但是按钮中仅显示at,后面的字母就丢失了

------解决方案--------------------
为你的这个input指定一个稍微大点的宽度试试看,可能是没有显示完
------解决方案--------------------
value=" + DataBinder.Eval(Container, "DataItem.strValue").ToString() + " />"


没有双引号,能正常吗

value=\"" + DataBinder.Eval(Container, "DataItem.strValue").ToString() + "\" />"

------解决方案--------------------
try this: