2014-01-30 154 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