我可以得到简单的例子,只要没有主页涉及工作正常。所有我想要做的是单击一个按钮,让它说,“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" />