ASP.Net Web开发基础 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

Web服务器控件

客户端事件方法,一般采用JavaScript来进行处理,也就是直接在客户浏览器上运行,并呈现输出结果。

服务器端事件,一般由对控件的操作引发postback,服务器端执行事件处理程序,输出结果HTML回客户端浏览器呈现。

下面以一个例子,来分析两种事件处理的异同:

<%@ Page Language="C#" %>

<script runat="server">
    protected void Button1_Click(Object sender, EventArgs e)
    {
        Label1.Text = "Server click handler called.";
    }
</script>

<html>
<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>

运行程序,点击按钮弹出对话框;选择确定,Label1上将显示“Server click handler called.”;选择取消,Label1上的文字将不变。
可见,点击按钮时首先执行的是客户端事件;如果客户端事件返回的是false,不会发生postback,服务器端事件也不会执行;只有客户端事件返回true,才会触发控件的postback,引起服务器端事件处理程序的执行。

查看client_server.aspx,运行代码,体会客户端事件、服务器端事件处理时机的不同。