2012-08-27 55 views
0

我需要能夠設置動態生成的標籤的ID,而不是讓SharePoint爲我的標籤添加一個自己的冗長隱藏標識。這是可能的還是有另一個屬性的標籤,我可以作爲一個獨立的標識符在一個單獨的方法?C#獲取動態創建標籤的標識

Label animal = new Label(); 
animal.ID = cat; 

這個標籤的ID將是這樣的: ctl00_m_g_e0c173c0_edf3_4a99_a1dd_7bef33144c0b_ctl00_cat

我需要它是貓。

+0

不是SharePoint開發自己..但肯定標籤上有一個clientId?例如:'animal.ClientID' == ctl00_m_g_e0c173c0_edf3_4a99_a1dd_7bef33144c0b_ctl00_cat。如果運行時提供了獲取實際ID的方法,那麼爲什麼你需要它是「貓」呢? –

+0

因爲我需要知道標籤上的標籤,所以我可以用不同的方法使用它。 –

+0

這是.net,而不是sharepoint –

回答

1

要強制客戶端ID是一樣的服務器端的ID,使用:

animal.ClientIDMode = ClientIDMode.Static; 
0

您無法設置服務器控件的ClientId。這是一個只讀屬性。

你看到的神祕身份證實際上就是你的控制手段。

+0

所以這就是爲什麼我試圖設置'animal.ClientID =「Static」'時出現只讀錯誤。有沒有辦法解決?替代'ClientID'? –

+0

您是否試圖在客戶端識別此控件? – labroo

0

如果你試圖訪問的JavaScript控制,並使用jQuery,你可以在不同的正則表達式選擇:

$("label[id$='cat']") 

這將尋找與「貓結尾的ID標籤元素「

如果你的JavaScript是在ASPX文件,而不是一個js文件,你也可以訪問它像這樣:

$('#<%=cat.ClientID %>') 

這將只是通過注入創建的長期ID Sharepoint進入你的js。關鍵是它需要駐留在aspx文件中,而不是js文件。