2010-08-26 196 views
1

是否可以使用不同的ID屬性呈現相同的控件?ASP.NET動態創建和設置相同控件的不同ID

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

這裏是一個錯誤:'標籤<%= i.ToString()%>' 是不是一個有效標識符。

+1

爲什麼不在代碼隱藏方面做到這一點,如將標籤添加到面板? – Jerome 2010-08-26 11:05:45

回答

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

通常在這樣的情況下,你並不需要創建asp.net控制......所以,你可以這樣做:

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