預設事件

Page 物件的預設事件是 Load 事件。同樣,每個控制元件都有一個預設事件。例如,按鈕控制元件的預設事件是 Click 事件。

可以在 Visual Studio 中建立預設事件處理程式,只需雙擊設計檢視中的控制元件即可。下表顯示了常用控制元件的一些預設事件:

控制 預設事件
AdRotator AdCreated
BulletedList 點選
Button 點選
Calender SelectionChanged
CheckBox CheckedChanged
CheckBoxList SelectedIndexChanged
DataGrid SelectedIndexChanged
DataList SelectedIndexChanged
DataList SelectedIndexChanged
DropDownList 點選
ImageButton 點選
ImageMap 點選
LinkBut​​ton 點選
ListBox SelectedIndexChanged
Menu MenuItem 點選
RadioButton CheckedChanged
RadioButtonList SelectedIndexChanged

示例此示例包含一個帶有標籤控制元件和按鈕控制元件的簡單頁面。當頁面事件如 Page_Load,Page_Init,Page_PreRender 等發生時,它會傳送一條訊息,由標籤控制元件顯示。單擊該按鈕時,將引發 Button_Click 事件,並且還會傳送要在標籤上顯示的訊息。

建立一個新網站並從控制元件工具框中拖動標籤控制元件和按鈕控制元件。使用屬性視窗,將控制元件的 ID 設定為 .lblmessage。和 .btnclick。分別。將 Button 控制元件的 Text 屬性設定為 Click

標記檔案(.aspx):

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
   Inherits="eventdemo._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

   <head runat="server">
      <title>Untitled Page</title>
   </head>
   
   <body>
      <form id="form1" runat="server">
         <div>
            <asp:Label ID="lblmessage" runat="server" >
            
            </asp:Label>
            
            <br />
            <br />
            <br />
            
            <asp:Button ID="btnclick" runat="server" Text="Click" onclick="btnclick_Click" />
         </div>
      </form>
   </body>
   
</html>

雙擊設計檢視以移至檔案後面的程式碼。自動建立 Page_Load 事件,不包含任何程式碼。記下以下不言自明的程式碼行:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;

using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

using System.Xml.Linq;

namespace eventdemo {

   public partial class _Default : System.Web.UI.Page {
   
      protected void Page_Load(object sender, EventArgs e) {
         lblmessage.Text += "Page load event handled. <br />";
         
         if (Page.IsPostBack) {
            lblmessage.Text += "Page post back event handled.<br/>";
         }
      }
      
      protected void Page_Init(object sender, EventArgs e) {
         lblmessage.Text += "Page initialization event handled.<br/>";
      }
      
      protected void Page_PreRender(object sender, EventArgs e) {
         lblmessage.Text += "Page prerender event handled. <br/>";
      }
      
      protected void btnclick_Click(object sender, EventArgs e) {
         lblmessage.Text += "Button click event handled. <br/>";
      }
       }
    }

執行頁面。標籤顯示頁面載入,頁面初始化和頁面預渲染事件。單擊按鈕以檢視效果:

http://i.stack.imgur.com/tXCjC.jpg