ASP.NET
Handhabung des Events
Suche…
Syntax
- private void EventName (Objektsender, EventArgs e);
Parameter
Parameter | Einzelheiten |
---|---|
Objekt Sender | Sender bezieht sich auf das Objekt, das das Ereignis ausgelöst hat, das den Ereignishandler ausgelöst hat. Dies ist nützlich, wenn viele Objekte denselben Ereignishandler verwenden. |
EventArgs e | EventArgs ist so etwas wie eine Dummy-Basisklasse. An und für sich ist es mehr oder weniger nutzlos, aber wenn Sie daraus abgeleitet werden, können Sie alle Daten hinzufügen, die Sie an Ihre Event-Handler weitergeben müssen. |
Anwendungs- und Sitzungsereignisse
Die wichtigsten Anwendungsereignisse sind:
Application_Start - Wird ausgelöst, wenn die Anwendung / Website gestartet wird.
Application_End - Wird ausgelöst, wenn die Anwendung / Website gestoppt wird.
In ähnlicher Weise sind die am häufigsten verwendeten Sitzungsereignisse:
Session_Start - Wird ausgelöst , wenn ein Benutzer zum ersten Mal eine Seite von der Anwendung anfordert.
Session_End - Wird ausgelöst , wenn die Sitzung endet.
Seiten- und Steuerungsereignisse
Häufige Seiten- und Steuerungsereignisse sind:
DataBinding - Wird ausgelöst , wenn ein Steuerelement an eine Datenquelle gebunden wird.
Disposed - Wird ausgelöst , wenn die Seite oder die Steuerung freigegeben wird.
Fehler - Es handelt sich um ein Seitenereignis, das auftritt, wenn eine nicht behandelte Ausnahme ausgelöst wird.
Init - Wird ausgelöst , wenn die Seite oder das Steuerelement initialisiert wird.
Laden - Wird ausgelöst, wenn die Seite oder ein Steuerelement geladen wird.
PreRender - Wird ausgelöst , wenn die Seite oder das Steuerelement gerendert werden soll.
Entladen - Wird ausgelöst , wenn die Seite oder das Steuerelement aus dem Speicher entladen wird.
Standardereignisse
Das Standardereignis für das Page-Objekt ist das Load-Ereignis. Ebenso hat jedes Steuerelement ein Standardereignis. Das Standardereignis für das Schaltflächensteuerelement ist beispielsweise das Click-Ereignis.
Der Standardereignishandler kann in Visual Studio erstellt werden, indem Sie einfach auf das Steuerelement in der Entwurfsansicht doppelklicken. In der folgenden Tabelle sind einige Standardereignisse für allgemeine Steuerelemente aufgeführt:
Steuerung | Standardereignis |
---|---|
AdRotator | AdCreated |
BulletedList | Klicken |
Taste | Klicken |
Kalander | SelectionChanged |
CheckBox | CheckedChanged |
CheckBoxList | SelectedIndexChanged |
DataGrid | SelectedIndexChanged |
Datenliste | SelectedIndexChanged |
Dropdown-Liste | SelectedIndexChanged |
HyperLink | Klicken |
ImageButton | Klicken |
ImageMap | Klicken |
LinkButton | Klicken |
ListBox | SelectedIndexChanged |
Menu MenuItem | Klicken |
Radio knopf | CheckedChanged |
RadioButtonList | SelectedIndexChanged |
Beispiel Dieses Beispiel enthält eine einfache Seite mit einem Label-Steuerelement und einem Schaltflächen-Steuerelement. Während die Seitenereignisse wie PageLoad, PageInit, PagePreRender usw. stattfinden, wird eine Nachricht gesendet, die vom Label-Steuerelement angezeigt wird. Wenn auf die Schaltfläche geklickt wird, wird das Button_Click-Ereignis ausgelöst und dieses sendet auch eine Nachricht, die auf dem Etikett angezeigt werden soll.
Erstellen Sie eine neue Website, und ziehen Sie ein Beschriftungssteuerelement und ein Schaltflächensteuerelement darauf aus dem Steuerungswerkzeugkasten. Legen Sie im Eigenschaftenfenster die IDs der Steuerelemente als .lblmessage fest. und .btnclick. beziehungsweise. Legen Sie die Text-Eigenschaft des Button-Steuerelements als 'Click' fest.
Die Markup-Datei (.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>
Doppelklicken Sie auf die Entwurfsansicht, um zum Code hinter der Datei zu gelangen. Das Ereignis Page Load wird automatisch ohne Code erstellt. Schreiben Sie die folgenden selbsterklärenden Codezeilen auf:
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/>";
}
}
}
Führen Sie die Seite aus. Das Etikett zeigt das Laden der Seite, die Seiteninitialisierung und die Ereignisse zum Anzeigen der Seite vor dem Rendern. Klicken Sie auf die Schaltfläche, um den Effekt anzuzeigen: