【发布时间】:2014-11-13 19:13:17
【问题描述】:
我有一个带有一些 asp.net 控件的网络表单,我想使用它们的 ID 选择每个控件。当我启动页面时,所有名称都会更改。
有没有简单的方法来使用它。我宁愿不使用类作为选择器。
【问题讨论】:
我有一个带有一些 asp.net 控件的网络表单,我想使用它们的 ID 选择每个控件。当我启动页面时,所有名称都会更改。
有没有简单的方法来使用它。我宁愿不使用类作为选择器。
【问题讨论】:
如果您使用的是 asp.net 4,您可以将 ClientIDMode 标记设置为静态。这将阻止 asp.net 更改控件的 ID。
<asp:Button ClientIDMode="Static" />
【讨论】:
web.config 级别设置它,这样您就不必为要引用的每个控件添加ClientIdMode="Static"。见here。您也可以在页面级别进行设置。
渲染后控件 id 会变成 cph_master_labelid 之类的东西
使用jquery
var id=$(#'<%labelid.ClientID %>')
或者你可以设置它的服务器端属性[Control.ClientIDMode][1]"只在4.0或更高版本中使用
<asp:Label id="mylabel" runat="server" ClientIDMode="Static" />
【讨论】: