asp.net – 如何使用JQuery与母版页?

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

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...