ASP.NET MVC - Checkbox文本属性

时间:2009-05-21 18:53:44

标签: asp.net-mvc checkbox

我在循环中绘制了一些复选框,我想根据我在循环中迭代的对象设置text属性。

我有这样的事情:

<asp:CheckBox ID=“CheckBox1 " runat=”服务器" Text=<%= Html.Encode(item.nome) %>”Checked =“true”/&gt;

问题是Html.Encode(item.nome)显示为纯文本,如果我不使用引号,我会收到错误。

3 个答案:

答案 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