如何:响应客户端脚本中的 Button Web 服务器控件事件
更新:2007 年 11 月
Button 控件既可以引发服务器事件,也可以引发客户端事件。服务器事件在回发后出现,且这些事件在为页面编写的服务器端代码中进行处理。客户端事件在客户端脚本(通常为 JavaScript (ECMAScript))中处理,并在提交页面前引发。通过向 ASP.NET 按钮控件中添加客户端事件,可以执行各种任务,包括在提交页面前显示确认对话框,以及取消页面提交。
向按钮 Web 服务器控件中添加处理 OnClientClick 事件的客户端脚本
在要添加客户端脚本的 ASP.NET 按钮 Web 服务器控件(Button、LinkButton 或 ImageButton 控件)中,将 OnClientClick 属性设置为要运行的客户端脚本。
说明: 如果希望可以取消提交,请将 OnClientClick 属性设置为字符串“Return”和函数名称。此时,该客户端脚本可以通过返回 false 取消提交。
下面的代码示例演示如何向 Button 控件中添加客户端脚本 click 事件。
<%@ Page Language="VB" %> <script runat="server"> Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Label1.Text = "Server click handler called." End Sub </script> <body> <form id="form1" runat="server"> <asp:Button ID="Button1" Runat="server" OnClick="Button1_Click" OnClientClick="return confirm('Ready to submit.')" Text="Test Client Click" /> <br /> <asp:Label ID="Label1" Runat="server" text="" /> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Button1_Click(Object sender, EventArgs e) Label1.Text = "Server click handler called."; End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <body> <form id="form1" runat="server"> <asp:Button ID="Button1" Runat="server" OnClick="Button1_Click" OnClientClick="return confirm('Ready to submit.')" Text="Test Client Click" /> <br /> <asp:Label ID="Label1" Runat="server" text="" /> </form> </body> </html>