ASP.NET动态创建&为相同的控件设置不同的ID

时间:2010-08-26 11:02:31

标签: asp.net controls

是否可以使用不同的ID属性呈现相同的控件?

<%for (int i = 0; i < 15; i++)
  {%>
     <asp:Label ID='Label<%=i.ToString() %>' runat="server"/>
<%}%>

这是一个错误:'标签&lt;%= i.ToString()%&gt;'不是有效的标识符。

2 个答案:

答案 0 :(得分:2)

是的,这是可能的,但是可以从代码中获取,而不是WebForms标记。从WebForm标记开始,您只能在循环中添加“html”控件,而不是“asp.net”控件。

从背后的代码中你可以做到:

for( int i=0;i<15;i++)
{
    var l = new Label();
    Label.ID = "Label" + i;
    Controls.Add(l);
}

答案 1 :(得分:1)

通常在这种情况下,您不需要创建asp.net控件......所以,您可以这样做:

<%for (int i = 0; i < 15; i++)
  {%>
     <label id="Label<%=i.ToString() %>"></label>
<%}%>