我在循环中绘制了一些复选框,我想根据我在循环中迭代的对象设置text属性。
我有这样的事情:
<asp:CheckBox ID=
“CheckBox1 " runat=
”服务器" Text=
“<%= Html.Encode(item.nome) %>
”Checked =“true”/&gt;
问题是Html.Encode(item.nome)显示为纯文本,如果我不使用引号,我会收到错误。
答案 0 :(得分:8)
或者,使用Html.CheckBox
帮助程序。
<%= Html.CheckBox( "CheckBox1", true ) %> <%= Html.Encode(Item.none) %>
答案 1 :(得分:3)
不要使用<asp:CheckBox>
控件 - 创建一个标准的html复选框:
<input type="checkbox" name="cb" checked="checked"><%= Html.Encode(item.nome) %></input>
答案 2 :(得分:1)
您不能将ASP.NET控件标记与<%= %>
语法混合使用。你有两个选择:
使用原始HTML作为复选框,然后就可以使用<%= %>
了。这种风格更适合ASP.NET MVC。
<input type="checkbox" name="cb" checked="checked"><%= Html.Encode(item.nome) %></input>
或者您可以使用ASP.NET控件友好的数据绑定语法:
<asp:CheckBox ID="CheckBox1" runat="server" Text='<%# Html.Encode(Container.DataItem, "nome") %>' Checked="true"/>
但是要使用数据绑定语法,您需要一个数据源控件并位于Repeater控件中。有关详细信息,请参阅ASP.NET data binding。