我可以设置动态生成控件的Desired ClientID

时间:2010-07-17 10:08:45

标签: c# asp.net

我想在动态生成的控件中设置所需的ClientID。如果您有任何想法将所需的ClientID设置为控件而不是告诉我

,则ClientID是只读的

2 个答案:

答案 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