asp.net - 如何将 JQuery 与母版页结合使用?

标签 asp.net jquery master-pages

只要不涉及母版页,我就可以获得简单的示例来正常工作。我想做的就是单击一个按钮,并使用母版页,使用 .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/

相关文章:

jquery - 无法让图像预加载在 IE8 中正常工作

.net - 如何设计结构相同的窗体?

asp.net - 错误: "The file '/MasterPages/MainMaster. master'不存在。”(是的,这个文件确实存在!)

asp.net - 缓冲区不能为空。参数名称 : buffer

javascript - 从客户端的 FileUpload 控件获取所有文件名

javascript - 动态函数和动态参数/自变量

asp.net - 如何在母版页中包含 CSS?

javascript - 当我单击链接时如何使用 javascript 在 css 中更改图像中的选定颜色

c# - 动态控制 C# 上的验证器噩梦

javascript - jquery数学求和方法