2014-01-30 153 views
3

我有一个C#代码,我设置了DIV的ID。在C中设置ClientID为静态#

例子:

div.ID = "slider"; 

唯一的问题是,当网站加载ASP增添了一大堆随机字符的ID前面。我无法使用<% Page %>,因为我只是使用Web部件。

当我试图设置:

div.ClientID = "static"; 

我给出,其中为只读属性的错误。

有没有其他的方式来设置它在C#中,所以当网站运行我的网页时ID不会改变?

我不想在javascript/css代码中使用<%= slider.ClientID %>,但如果这是唯一的方法,那么我想我没有选择。

回答

15

您正在寻找ClientIDMode属性,而不是ClientID

div.ClientIDMode = System.Web.UI.ClientIDMode.Static; 

如果你想在aspx页面来定义它,那么你可以这样做:

<div id="myDiv" runat="server" ClientIDMode="static" ></div> 

记得它配备框架4.0以上。

+0

图。我只运行3.5:/。太糟糕了,它不是向后兼容!谢谢:)我很可能会升级比。 – Si8

+0

@ SiKni8,它更好,如果你升级,但看看[突破变化](http://www.hanselman.com/blog/ASPNET4BreakingChangesAndStuffToBeAwareOf.aspx) – Habib