c# - 注册 asp :button click event handler

标签 c# javascript jquery asp.net-ajax mouseclick-event

我有多个使用 jQuery 动态创建的 asp:button。

对于它们中的每一个,我都有 OnClick="ibtn_Click"

但是在后面的代码中,我必须在 Page_Load..like.. button.Click += new EventHandler(this.ibtn_Click); 上手动注册它们中的每一个。

有没有办法自动注册这个处理程序?或者是否可以使用 ajax jquery 注册它?

谢谢!

最佳答案

您不能在客户端浏览器中添加 ASP.NET Web 控件。 ASP.NET 转换那些 <asp:button>标记为常规 HTML,如下所示:

<input type="submit" name="Button1" value="Ok" id="Button1" />

当用户单击其中一个提交控件时,浏览器会发送一个 POST 请求,其中包括按钮的 name作为已发布数据的一部分(您可以通过 ASP.NET 中的 Form 集合访问):

if (this.IsPostBack && Request.Form["Button1"] != null) {
    // do something if the user clicked Button1
}

ASP.NET 自动将服务器控件点击绑定(bind)到 OnClick 中指定的方法属性。它在 Page.Load 之后调用方法完成(有关详细信息,请参阅“ASP.NET Page Life Cycle Overview”)。

如果您要在客户端添加按钮,您可以自己完成所有这些工作。例如,您可以在 Page_PreRender 中“绑定(bind)”动态生成的按钮。 :

protected void Page_PreRender(object sender, EventArgs e) {
    if (this.IsPostBack && Request.Form["Button1"] != null) {
        // Call another method on the page
    }
}

最后,在这个时代,如果合适的话,您绝对应该考虑通过 jQuery 的 ajax 调用页面方法。 .参见 this excellent Encosia article了解该技术。

关于c# - 注册 asp :button click event handler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307955/

相关文章:

javascript - 如何使用 Angular Material 表滚动到特定页面中的特定行

c# - 使用 C# 在 Twitter 上发布状态

c# - Xamarin不包括构建中的资源文件夹

javascript - IE 问题 : wrong tab focus

javascript - window.onload 事件不触发或 "how to properly initialize js project?"

javascript - 我想解析 json ,但不成功。任何人都可以检查我的代码吗

javascript - jQuery 通过函数携带 var

jquery - 在 Handlebars JS 中循环遍历唯一的 json 格式数据

c# - C# 方法名称中的前缀 "On"是否意味着什么?

c# - xna 的基本网格?