Web表单上有服务器控制按钮,它位于updatepanel控件内。
<asp:Button runat="server" Text="Save Details" ID="btnSave" Width="130px"
ClientIDMode="Static"></asp:Button>
脚本在外部文件中。
$(document).ready(function () {
$('<%= btnSave.ClientID %>').click(function () {
alert('msg');
});
});
所有其他脚本运行正常,但这个脚本没有触发。
答案 0 :(得分:0)
您的选择器中缺少#
:
$(document).ready(function () {
$('#<%= btnSave.ClientID %>').click(function () {
// ^ add # here
alert('msg');
});
});
答案 1 :(得分:0)
一方面你正在使用ClientIDMode="Static"
而另一方正在尝试<%= btnSave.ClientID %>
。
使用<%= btnSave.ClientID %>
将获取元素的呈现ID。并且您的Button的ID与使用ClientIDMode="Static"
的ID相同。仅当您的控件在页面上呈现多个时间时才应该使用它。使用<%= btnSave.ClientID %>
会在页面上放置额外的开销,并在每次渲染HTML
时点击该行。
所以结论说。使用'#btnSave'
作为元素选择器,如果您的元素在页面上单次渲染,请避免使用<%= btnSave.ClientID %>
。
这将是相同的。
$(document).ready(function () {
$("[id$='btnSave']").click(function () {
alert('msg');
});
});