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
     |