ASP.NET
Gestione degli eventi
Ricerca…
Sintassi
- private void EventName (mittente dell'oggetto, EventArgs e);
Parametri
Parametro | Dettagli |
---|---|
oggetto mittente | il mittente si riferisce all'oggetto che ha invocato l'evento che ha attivato il gestore di eventi. Questo è utile se hai molti oggetti che usano lo stesso gestore di eventi. |
EventArgs e | EventArgs è qualcosa di una classe base fittizia. Di per sé è più o meno inutile, ma se ne deriva, puoi aggiungere tutti i dati necessari per passare ai gestori di eventi. |
Eventi di applicazione e sessione
Gli eventi applicativi più importanti sono:
Application_Start : viene generato all'avvio dell'applicazione / del sito Web.
Application_End - Viene generato quando l'applicazione / il sito Web vengono arrestati.
Allo stesso modo, gli eventi di sessione più utilizzati sono:
Session_Start : viene generato quando un utente richiede per la prima volta una pagina dall'applicazione.
Session_End - Viene sollevato quando termina la sessione.
Eventi di pagina e di controllo
Gli eventi di controllo e di pagina comuni sono:
DataBinding : viene generato quando un controllo si collega a un'origine dati.
Smaltato - Viene generato quando viene rilasciata la pagina o il controllo.
Errore : si tratta di un evento di pagina, si verifica quando viene generata un'eccezione non gestita.
Init : viene generato quando la pagina o il controllo è inizializzato.
Carica : viene sollevato quando viene caricata la pagina o un controllo.
PreRender - Viene generato quando la pagina o il controllo deve essere visualizzato.
Scarica : viene generato quando la pagina o il controllo viene scaricato dalla memoria.
Eventi predefiniti
L'evento predefinito per l'oggetto Page è Load event. Allo stesso modo, ogni controllo ha un evento predefinito. Ad esempio, l'evento predefinito per il controllo pulsante è l'evento Click.
Il gestore eventi predefinito può essere creato in Visual Studio, semplicemente facendo doppio clic sul controllo in visualizzazione struttura. La seguente tabella mostra alcuni degli eventi predefiniti per i controlli comuni:
Controllo | Evento predefinito |
---|---|
AdRotator | AdCreated |
Elenco puntato | Clic |
Pulsante | Clic |
calandra | SelectionChanged |
CheckBox | CheckedChanged |
CheckBoxList | SelectedIndexChanged |
DataGrid | SelectedIndexChanged |
DataList | SelectedIndexChanged |
Menu `A tendina | SelectedIndexChanged |
HyperLink | Clic |
ImageButton | Clic |
ImageMap | Clic |
LinkButton | Clic |
ListBox | SelectedIndexChanged |
Menu MenuItem | Clic |
RadioButton | CheckedChanged |
RadioButtonList | SelectedIndexChanged |
Esempio Questo esempio include una pagina semplice con un controllo etichetta e un controllo pulsante su di esso. Quando avvengono eventi della pagina come Page_Load, Page_Init, Page_PreRender ecc., Invia un messaggio, che viene visualizzato dal controllo dell'etichetta. Quando si fa clic sul pulsante, viene generato l'evento Button_Click e anche questo invia un messaggio da visualizzare sull'etichetta.
Creare un nuovo sito Web e trascinare un controllo etichetta e un controllo pulsante su di esso dalla casella degli strumenti di controllo. Utilizzando la finestra delle proprietà, impostare gli ID dei controlli come .lblmessage. e .btnclick. rispettivamente. Imposta la proprietà Text del controllo Button come "Click".
Il file di markup (.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>
Fare doppio clic sulla vista disegno per passare al codice dietro il file. L'evento Page_Load viene creato automaticamente senza alcun codice. Annoti le seguenti linee di codice autoesplicative:
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/>";
}
}
}
Esegui la pagina. L'etichetta mostra il caricamento della pagina, l'inizializzazione della pagina e gli eventi di pre-rendering della pagina. Fai clic sul pulsante per vedere l'effetto: