只要不涉及母版页,我就可以得到简单的例子.我想做的就是点击一个按钮,让它用javascript在一个窗口中说"hello world".js文件,使用母版页.非常感谢您的帮助:)
只要不涉及母版页,我就可以得到简单的例子.我想做的就是点击一个按钮,让它用javascript在一个窗口中说"hello world".js文件,使用母版页.非常感谢您的帮助:)
EDIT
正如@Adam在 comments 中指出的,有一种原生的jQuery机制,基本上与我最初的答案中的黑客做了相同的事情.使用jQuery您可以
$('[id$=myButton]').click(function(){ alert('button clicked'); });
我的黑客最初是作为ASP的原型开发的.NET,我将其改编为原始答案.请注意,jQuery基本上在幕后做同样的事情.不过,我建议使用jQuery方式来实现我的hack.
Original answer left for comment context个
使用母版页时,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" />