Ereignisverfolgung in einem Web-Formular
Zu Abschnitt 6.3 des Buchs
Dieses Beispiel zeigt, welche Ereignisse beim Laden einer Seite
sowie beim Klicken eines Buttons ausgelöst werden. Als
Ausgangspunkt verwenden wir die Adder-Seite aus Abschnitt 6.2
des Buchs. Hier ist nochmals ihr aspx-Code:
../../samples/6/EventTracing.aspx
<%@ Page Language="C#" Inherits="AdderPage" Src="EventTracing.aspx.cs"
AutoEventWireup="true" %>
<html>
<head> <title>Kassenstand</title> </head>
<body>
<form method="post" Runat="server">
<b>Kassenstand:</b>
<asp:Label ID="total" Runat="server"> 0 </asp:Label>
Euro<br><br>
<asp:TextBox ID="amount" Value="0" Runat="server" />
<asp:Button ID="ok" Text="Einzahlen" Runat="server" OnInit="ButtonInit" />
<br><br>
<asp:Label ID="trace" Runat="server"/>
</form>
</body>
</html>
|
Die Hintergrundseite enthält den Code, der die Trace-Hilfsdrucke
erzeugt:
../../samples/6/EventTracing.aspx.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
public class AdderPage : Page {
protected Label total;
protected TextBox amount;
protected Button ok;
protected Label trace;
private void Put(string s) { trace.Text += s + " "; }
//------ Page events
public void Page_Init(object sender, EventArgs e){
Put("Page.Init ");
ok.Load += new EventHandler(ButtonLoad);
ok.Click += new EventHandler(ButtonClick);
ok.PreRender += new EventHandler(ButtonPreRender);
ok.Unload += new EventHandler(ButtonUnload);
}
public void Page_Load(object sender, EventArgs e) {
Put(" Page.Load");
}
public void Page_PreRender(object sender, EventArgs e) {
Put("Page.PreRender");
}
public void Page_Unload(object sender, EventArgs e) {
Put("Page.Unload");
}
//------ Button events
public void ButtonClick(object sender, EventArgs e) {
Put("Button.Click");
int totalVal = Convert.ToInt32(total.Text);
int amountVal = Convert.ToInt32(amount.Text);
total.Text = (totalVal + amountVal).ToString();
}
public void ButtonInit(object sender, EventArgs e) {
Put("Button.Init");
}
public void ButtonLoad(object sender, EventArgs e) {
Put("Button.Load");
}
public void ButtonPreRender(object sender, EventArgs e) {
Put("Button.PreRender");
}
public void ButtonUnload(object sender, EventArgs e) {
Put("Button.Unload");
}
}
|
Ausführung
Klicken Sie auf den untenstehenden Link und anschließend auf den
Button in der Webseite. Sie können beobachten, welche Ereignisse
auftreten.
http://dotnet.jku.at/book/samples/6/EventTracing.aspx
|