如何:响应客户端脚本中的 Button Web 服务器控件事件

更新:2007 年 11 月

Button 控件既可以引发服务器事件,也可以引发客户端事件。服务器事件在回发后出现,且这些事件在为页面编写的服务器端代码中进行处理。客户端事件在客户端脚本(通常为 JavaScript (ECMAScript))中处理,并在提交页面前引发。通过向 ASP.NET 按钮控件中添加客户端事件,可以执行各种任务,包括在提交页面前显示确认对话框,以及取消页面提交。

向按钮 Web 服务器控件中添加处理 OnClientClick 事件的客户端脚本

  • 在要添加客户端脚本的 ASP.NET 按钮 Web 服务器控件(ButtonLinkButtonImageButton 控件)中,将 OnClientClick 属性设置为要运行的客户端脚本。

    ms227426.alert_note(zh-cn,VS.90).gif说明:

    如果希望可以取消提交,请将 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>
    

请参见

参考

Button Web 服务器控件概述