只要不涉及母版页,我就可以获得简单的示例来正常工作。我想做的就是单击一个按钮,并使用母版页,使用 .js 文件中的 javascript 让它说“hello world”。非常感谢任何帮助:)
最佳答案
编辑
正如 @Adam 在评论中指出的那样,有一个 native jQuery 机制基本上与我原来的答案中的 hack 做同样的事情。使用 jQuery 你可以做到
$('[id$=myButton]').click(function(){ alert('button clicked'); });
我的黑客最初是作为 ASP.NET 的原型(prototype)工作而开发的,我根据原始答案对其进行了改编。请注意,jQuery 基本上在幕后做同样的事情。不过,我建议使用 jQuery 方式,而不是实现我的 hack。
原始答案留给评论上下文
当您使用母版页时,ASP.NET 会破坏从属页上的控件名称。您需要找到一种方法来找到正确的控件来添加处理程序(假设您使用 JavaScript 添加处理程序)。
我使用这个函数来做到这一点:
function asp$( id, tagName ) {
var idRegexp = new RegExp( id + '$', 'i' );
var tags = new Array();
if (tagName) {
tags = document.getElementsByTagName( tagName );
}
else {
tags = document.getElementsByName( id );
}
var control = null;
for (var i = 0; i < tags.length; ++i) {
var ctl = tags[i];
if (idRegexp.test(ctl.id)) {
control = ctl;
break;
}
}
if (control) {
return $(control.id);
}
else {
return null;
}
}
然后你可以这样做:
jQuery(asp$('myButton','input')).click ( function() { alert('button clicked'); } );
您的子页面上有以下内容
<asp:Button ID="myButton" runat="server" Text="Click Me" />
关于asp.net - 如何将 JQuery 与母版页结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/292787/