我想在asp.net网络表单中执行以下操作,但收到无效令牌错误消息:
<ul>
<%foreach (var item in Items) {%>
<li>
<asp:TextBox ID="<%= item.Id %>" runat="server" />
</li>
<%} %>
</ul>
有哪些替代方法可以达到预期效果?
答案 0 :(得分:4)
服务器端控件(即具有runat="server"
的控件)必须在编译时设置ID(因为ID用于命名表示控件的成员字段)。
或者:
在ASP.NET中,前者是常见的,ASP.NET MVC后者(通过HTML Helpers)是常见的。
答案 1 :(得分:0)
尝试以下方法: -
foreach (Item item in items)
{
TextBox txtBox=new TextBox();
txtBox.ID=item.ID;
placeHolder.Controls.Add(txtBox);
}
另外请确保您没有像(“ - ”)这样的无效字符,有时会给您带来麻烦。