我想在动态生成的控件中设置所需的ClientID。如果您有任何想法将所需的ClientID设置为控件而不是告诉我
,则ClientID是只读的答案 0 :(得分:4)
这只能在.Net 4以后进行
尽管如此,因为CSS总是使用asp.net不会触及的类,对于javascript你可以使用:
$("#<%=myElement.ClientID%>").blah()
所以无论.Net决定ID都将正确连接:
$("#ct101_myElement").blah();
我广泛使用这种东西..
答案 1 :(得分:0)
在ASP.Net 4中,您可以将控件的“ClientIDMode”设置为“Static”,这样您就可以分配自己的ID。
Panel imageCard = new Panel
{
ID = dr["DisplayOrder"].ToString(),
CssClass = "portlet portlet-family",
ClientIDMode = System.Web.UI.ClientIDMode.Static
};
ClientID没有setter。在此模式下,clientID将与ID相同。
如果在重复控件中使用静态ClientIDMode,则开发人员负责确保客户端ID唯一性。 (更多:http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx)