首页 > 代码库 > ASP.NET 事件驱动机制

ASP.NET 事件驱动机制

     关于 ASP.NET Web窗体应用程序,以前在项目中项目中也一直在使用,但直到最近才了解到 Web 窗体应用程序的核心之一事件驱动,做 Web 窗体应用程序的人都在应用这个特性,但是不是每个人都了解这个特性,简而言之,就是每一个Button控件都有一个独立的事件,通过点击不同的 Button 来执行不同的后台事件,进而实现不同的业务流程。

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="W.Web.Index" %> 2 <!doctype html> 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head runat="server"> 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 6     <title></title> 7 </head> 8 <body> 9     <form id="form1" runat="server">10         <asp:Button ID="Button1" runat="server" Text="按钮1" OnClick="Button1_Click" />11         <asp:Button ID="Button2" runat="server" Text="按钮2" OnClick="Button2_Click" />12     </form>13 </body>14 </html>
 1 namespace W.Web 2 { 3     public partial class Index : System.Web.UI.Page 4     { 5         protected void Page_Load(object sender, EventArgs e) 6         { 7  8         } 9 10         protected void Button1_Click(object sender, EventArgs e)11         {12             Response.Write("事件:我是按钮1");13         }14 15         protected void Button2_Click(object sender, EventArgs e)16         {17             Response.Write("事件:我是按钮2");18         }19     }20 }

在同一个表单中有两个按钮,OnClick="Button1_Click" 表示点击控件的时候触发 Button1_Click 事件,执行后台 Button1_Click() 方法 OnClick="Button1_Click",OnClick="Button2_Click"同理。

点击"按钮1"时触发 Button1_Click 事件,执行 Button1_Click() 方法。

点击"按钮1"时触发 Button2_Click 事件,执行 Button2_Click() 方法。

      事实上,事件驱动还有别的形式,以上只是这里面最简单的一种,也是最常用的一种,其它的比如在 TextBox 控件文本改变的时候自动提交表单,事件驱动是配合着 ASP.NET Web窗体控件一起使用,可以很方便的在同一个表单中实现"不同的提交按钮,不同的业务流程",比如像博客园后台的"保存草稿"、"发布草稿" 功能,学习起来也很容易,比较适合需要快速开发的项目,了解这个特性,将会对 ASP.NET 有更深入的认识。