当我使用 asp.net 控件(如输入)时,我在标记中指定一个 ID;但是,当我部署该解决方案时,它的前缀是一些自动生成的 ASP.net 标识符,最后附加了我的原始 ID。
我不想使用其他 SO 问题中存在的服务器端标记解决方法来给我的 jQuery 一个固定的 ID 以锁定,因为它不鼓励使用外部 JS 文件。4.0 是否让您可以更好地控制自己的 ID?
当我使用 asp.net 控件(如输入)时,我在标记中指定一个 ID;但是,当我部署该解决方案时,它的前缀是一些自动生成的 ASP.net 标识符,最后附加了我的原始 ID。
我不想使用其他 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
在 .NET 4+ 中,您可以在任何控件上使用ClientIDMode来指定 ID 的生成方式。
自 4.0 以来, ASP.Net 现在在所有控件上都有一个ClientIDMode,它允许您完全控制您的 ID。