2011-07-25 54 views
0

我們正在嘗試使用visual studio在ASP.net上編寫一個表單。 我們希望能夠控制元素的最終客戶端ID,以便我們可以輕鬆地在jQuery代碼中引用它們。如何在客戶端設置HTML元素ID

ASP.net中的常規'id'屬性獲得了一個奇數前綴,我們無法在客戶端控制它。

我們如何完全控制一個元素的最終客戶端ID?

謝謝!

IE:

<asp:TextBox ID="TBICDCode6" runat="server" Width="240"> 

我希望能夠指使用

$("#TBICDCode6"); 
+0

你可以做的,而不是相反 - 某處發出實際的ID在服務器端,並期待它在客戶端(例如,在JavaScript)。 – bzlm

回答

1

如果您正在使用ASP.NET 4.0,你可以通過設置Control.ClientIDModestatic

<asp:TextBox ID="TBICDCode6" runat="server" 
     ClientIDMode="Static" 
     Width="240"> 
</asp:TextBox> 

或者,如果您使用的是舊版本的ASP.NET,請嘗試此操作。

$("#" + '<%= TBICDCode6.ClientID %>') 
1

嘗試文本框:

$("#<%= TBICDCode6.ClientID %>"); 
+0

謝謝!我試圖避免這一點,因爲我想動態地使用JQuery函數來引用鏈接的字段...... –

1

這是一個衆所周知的事實,即asp.net做骯髒的事情IDS。它應該在asp.net 4.0中更好,但我還沒有嘗試過。
嘗試閱讀'參考客戶端腳本中的服務器控件'here
或者,您可以通過使用其他屬性(如name)完全繞過整個事情。然後
你的選擇將是$("[name=someId]"),而不是$("#someId")

相關問題