只要不涉及母版页,我就可以得到简单的例子.我想做的就是点击一个按钮,让它用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" />

Asp.net相关问答推荐

从组件属性调用异步方法的正确方法

无法翻译 LINQ

在 Web.Config 的 Location Path 元素中指定多个目录

使用 IIS 的 ASP.NET 调试超时

如何从 asp:Repeater 循环遍历项目模板中的项目?

防止 asp.net Web 表单中的跨站点请求伪造 (csrf) 攻击

使用 JavaScript 禁用 ASP.NET 验证器

在 Asp.net Rowcommand 事件中获取行索引

反序列化客户端 AJAX JSON 日期

如何在 ASP.Net 网络表单中使用标签?

GMT 和 UTC 一样吗?

如何删除asp.net中的特定会话?

*.csproj 中的 usevshostingprocess 是什么?

.NET - c# - 需要跨分区查询,但在 DocumentDB 数据访问上禁用了问题

ASP.net 中是否有 after Page_Load 事件

VS2017 无法加载文件或程序集 Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 或其依赖项之一

如何在 asp.net 中更改 DataBinder.Eval 的日期格式?

如何将列表转换为数据表

如何将 GridView.DataSource 导出到数据表或数据集?

如何使用 ConfigurationManager.AppSettings