我可以得到简单的例子,只要没有主页涉及工作正常。所有我想要做的是单击一个按钮,让它说,“hello世界”与javascript在.js文件中,使用母版页。任何帮助非常感谢:)
解决方法
编辑
因为@Adam在注释中指出,有一个本机jQuery机制,基本上做同样的事情,在我的原始答案中的黑客。使用jQuery你可以做
$('[id$=myButton]').click(function(){ alert('button clicked'); });
我的hack最初是作为一个原型工作为ASP.NET开发,我适应了原来的答案。注意jQuery基本上做同样的事情。我建议使用jQuery的方式,但是,实现我的黑客。
原始答案留给评论上下文
当您使用母版页时,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" />