在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C#/ ASP.NET事件處理
ASP.NET調(diào)試
ASP.NET Web Services
ASP.NET緩存
ASP.NET多線程
ASP.NET面板控件
ASP.NET數(shù)據(jù)綁定
ASP.NET數(shù)據(jù)源
ASP.NET個性化
ASP.Net教程
ASP.NET Ajax控件
ASP.NET生命周期
ASP.NET HTML服務(wù)器
ASP.NET簡介
ASP.NET驗證器
ASP.NET多視圖
ASP.NET網(wǎng)站配置
ASP.NET錯誤管理
ASP.NET自定義控件
ASP.NET LINQ
ASP.NET AdRotator控件
ASP.NET客戶端
ASP.NET文件上傳
ASP.NET服務(wù)器控件
ASP.NET開發(fā)環(huán)境配置
ASP.NET管理狀態(tài)
ASP.NET服務(wù)端
ASP.NET數(shù)據(jù)庫訪問(Access)
ASP.NET基本控件
ASP.NET安全
ASP.NET指令
ASP.NET事件處理
ASP.NET第一個程序
ASP.NET日歷控件

ASP.NET事件處理

事件是一個動作或事件,如鼠標(biāo)點擊,按鍵,鼠標(biāo)移動或任何系統(tǒng)生成的通知。 一個過程通過事件進行通信溝通。例如,中斷是系統(tǒng)生成的事件。當(dāng)事件發(fā)生時,應(yīng)用程序應(yīng)該能夠響應(yīng)并管理它。

ASP.NET中的事件在客戶機上引發(fā)的,并在服務(wù)器機器上處理。 例如,用戶點擊瀏覽器中顯示的按鈕。則點擊(Click)事件就會被被引發(fā)。瀏覽器通過將其發(fā)布到服務(wù)器,并由服務(wù)器來處理這個客戶端事件。

服務(wù)器有一個子程序描述事件發(fā)生時該怎么做(處理); 它被稱為事件處理程序。 因此,當(dāng)事件消息被發(fā)送到服務(wù)器時,它檢查點擊(Click)事件是否具有關(guān)聯(lián)的事件處理程序。 如果有,則執(zhí)行事件處理程序。

事件參數(shù)

ASP.NET事件處理程序通常需要兩個參數(shù)并返回void。 第一個參數(shù)表示引發(fā)事件的對象,第二個參數(shù)表示事件參數(shù)。

事件的一般語法是:

private void EventName (object sender, EventArgs e);

應(yīng)用程序和會話事件

ASP.Net中最重要的應(yīng)用程序事件是:

  • Application_Start - 當(dāng)應(yīng)用程序/網(wǎng)站啟動時引發(fā)。
  • Application_End - 當(dāng)應(yīng)用程序/網(wǎng)站停止時引發(fā)。

同樣,最常用的Session事件是:

  • Session_Start - 當(dāng)用戶第一次請求應(yīng)用程序的一個頁面時引發(fā)。
  • Session_End - 會話結(jié)束時引發(fā)。

頁面和控件事件

常見的頁面和控制事件是:

  • DataBinding - 當(dāng)控件綁定到數(shù)據(jù)源時會引發(fā)。
  • Disposed - 當(dāng)頁面或控件被釋放時會引發(fā)。
  • Error - 這是一個頁面事件,在未處理的異常時引發(fā)。
  • Init - 頁面或控件初始化時會引發(fā)。
  • Load - 當(dāng)頁面或控件加載時會引發(fā)。
  • PreRender - 當(dāng)頁面或控件要被渲染時引發(fā)。
  • Unload - 頁面或控件從內(nèi)存中卸載時會引發(fā)。

使用控件處理事件

所有的ASP.NET控件都是以類的形式實現(xiàn)的,而且當(dāng)用戶對它們執(zhí)行特定的操作時,會觸發(fā)事件。 例如,當(dāng)用戶點擊一個按鈕時,“Click”事件就會生成(觸發(fā))。要處理事件,可使用內(nèi)置的屬性和事件處理程序。 事件處理程序被編碼為響應(yīng)一個事件,并采取適當(dāng)?shù)膭幼鳌?/p>

默認(rèn)情況下,Visual Studio通過在Sub過程中包含Handles子句來創(chuàng)建事件處理程序。 該子句命名該過程處理的控件和事件。

按鈕控件的ASP標(biāo)簽,如下:

<asp:Button ID="btnCancel" runat="server" Text="Cancel" />

Click事件的事件處理程序:

Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs) 

   Handles btnCancel.Click

End Sub

一個事件也可以用Handles子句編碼。 然后,必須根據(jù)控件的相應(yīng)事件屬性來命名處理程序。

按鈕控件的ASP標(biāo)簽:

<asp:Button ID="btnCancel" runat="server" Text="Cancel" Onclick="btnCancel_Click" />

Click事件的事件處理程序:

Protected Sub btnCancel_Click(ByVal sender As Object, ByVal e As System.EventArgs)

End Sub

常見的控制事件是:

事件 屬性 控件
Click OnClick 按鈕,圖像按鈕,鏈接按鈕,圖像映射
Command OnCommand 按鈕,圖像按鈕,鏈接按鈕
TextChanged OnTextChanged 文本框
SelectedIndexChanged OnSelectedIndexChanged 下拉列表,列表框,單選按鈕列表,復(fù)選框列表。
CheckedChanged OnCheckedChanged 復(fù)選框,單選按鈕

有些事件會導(dǎo)致表單被立即回發(fā)到服務(wù)器,這些被稱為回發(fā)事件。 例如,點擊事件,如Button.Click。

某些事件不會立即回發(fā)到服務(wù)器,這些事件被稱為非回發(fā)事件。

例如,更改事件或選擇事件,如TextBox.TextChangedCheckBox.CheckedChanged。 通過將其AutoPostBack屬性設(shè)置為true,可以使nonpostback事件立即回發(fā)。

默認(rèn)事件

Page對象的默認(rèn)事件是Load事件。 同樣,每個控件都有一個默認(rèn)事件。 例如,按鈕控件的默認(rèn)事件是Click事件。

只需在設(shè)計視圖中雙擊控件,即可在Visual Studio中創(chuàng)建默認(rèn)事件處理程序。 下表顯示了一些常用控件的默認(rèn)事件:

控件 默認(rèn)事件
AdRotator AdCreated
BulletedList AClick
Button AClick
Calender ASelectionChanged
CheckBox ACheckedChanged
CheckBoxList ASelectedIndexChanged
DataGrid ASelectedIndexChanged
DataList ASelectedIndexChanged
DropDownList ASelectedIndexChanged
HyperLink AClick
ImageButton AClick
ImageMap AClick
LinkButton AClick
ListBox ASelectedIndexChanged
Menu AMenuItemClick
RadioButton ACheckedChanged
RadioButtonList ASelectedIndexChanged

示例

這個例子包括一個帶有標(biāo)簽控件和按鈕控件的簡單頁面。 當(dāng)Page_Load,Page_Init,Page_PreRender等頁面事件發(fā)生時,它會發(fā)送一個消息,由標(biāo)簽控件顯示。當(dāng)按鈕被點擊時,引發(fā)Button_Click事件,并且還發(fā)送要在標(biāo)簽上顯示的消息。

創(chuàng)建一個新的網(wǎng)站項目:EventHandling,點擊文件->新建->網(wǎng)站,然后選擇空網(wǎng)站, 如下 -

解決方案資源管理器中,右擊項目的名稱,在彈出的菜單中,選擇添加->添加新項目,選擇Web窗體,并存為Default.aspx,如下圖所示 -

并從控制工具箱中拖動一個標(biāo)簽控件和一個按鈕控件。參考下圖 -

使用屬性窗口,將標(biāo)簽控件的ID設(shè)置為 lblmessage ,按鈕控件的ID設(shè)置為btnclick。 將Button控件的Text屬性設(shè)置為 - "事件按鈕"。

標(biāo)記文件(Default.aspx):

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

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Asp.net事件處理</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Label ID="lblmessage" runat="server" Text="Label"></asp:Label>
            <br />
            <asp:Button ID="btnclick" runat="server" Text="事件按鈕" OnClick="btnclick_Click" />
        </div>
    </form>
</body>
</html>

雙擊設(shè)計視圖移動到文件后面的代碼。 Page_Load事件是自動創(chuàng)建的,沒有任何代碼。 編寫寫以下的代碼行用來處理相關(guān)事件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

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/>";
    }
}

執(zhí)行該頁面。標(biāo)簽顯示頁面加載,頁面初始化和頁面預(yù)渲染事件。點擊按鈕看效果:

點擊事件按鈕,得到以下結(jié)果 -