當我使用asp.net控件(如輸入)時,我在標記中指定了一個ID;然而,當我部署解決方案時,它的前綴是一些自動生成的ASP.net標識符,並在最後附加了我的原始ID。我可以在asp中控制我的ID和名稱標籤嗎?網絡4.0?
我不想在其他SO問題中使用服務器端標記替代方法來給我的jQuery一個固定ID來鎖定,因爲它阻止使用外部JS文件。 4.0會讓你更多地控制你的ID嗎?
當我使用asp.net控件(如輸入)時,我在標記中指定了一個ID;然而,當我部署解決方案時,它的前綴是一些自動生成的ASP.net標識符,並在最後附加了我的原始ID。我可以在asp中控制我的ID和名稱標籤嗎?網絡4.0?
我不想在其他SO問題中使用服務器端標記替代方法來給我的jQuery一個固定ID來鎖定,因爲它阻止使用外部JS文件。 4.0會讓你更多地控制你的ID嗎?
是的,只需將ClientIDMode="Static"
添加到您的控件。
另外,這始終是可能的,可以輸出控件的HTML ID直接進入你的javascript:
$('#<%= textBox1.ClientID %>').hide();
ClientIDMode
參考:http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx
第三種選擇是使用一些虛擬css類來「標記」控件。例如,你可以像這樣編寫一個文本框:'
謝謝Sean,你的答案的第一部分正是我所期待的。 – sean
在.NET 4+中,您可以在任何控件上使用ClientIDMode來指定如何生成ID。
該op說他做**不**需要使用服務器端標籤。所以你的答案不適用。 (如果這仍然是OP想要的,我不會感到驚訝)。 –
從4.0開始,ASP.Net在所有控件上都有一個ClientIDMode,它允許您完全控制您的ID。
我不明白你的問題。什麼阻止了你在asp.Net中修復ID。它始終是可能的(從第一版開始)。它甚至是ASP.Net內部行爲的一部分。 –
我誤解了你的問題。你不想使用服務器端標籤。那麼這是一個與Html/jQuery相關的問題嗎?並且,如果你不說不起作用,你打電話給一個bug –
在以前的asp版本中。淨,你的ID是爲你生成的。 – sean