0

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

我有这样的事情:

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

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

4

3 回答 3

8

或者,使用Html.CheckBox帮助程序。

<%= Html.CheckBox( "CheckBox1", true ) %> <%= Html.Encode(Item.none) %>
于 2009-05-21T19:14:18.627 回答
3

不要使用<asp:CheckBox>控件 - 创建一个标准的 html 复选框:

<input type="checkbox" name="cb" checked="checked"><%= Html.Encode(item.nome) %></input>
于 2009-05-21T19:05:08.863 回答
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 数据绑定

于 2009-05-21T19:20:06.617 回答