Application |
    HttpApplicationState = Page.Application
Gibt eine Instanz der Klasse HttpApplicationState zurück, die dem intrinsischen ASP-Objekt Application entspricht. Eine Instanz der Klasse HttpApplicationState enthält globale Informationen, die von mehreren Sitzungen und Anfragen innerhalb einer ASP.NET-Anwendung gemeinsam genutzt werden können. Weitere Informationen über die Klasse HttpApplicationState und ihre Mitglieder finden Sie in Kapitel 13.
Parameter HttpApplicationState Eine Variable des Typs HttpApplicationState, die die Instanz der Klasse HttpApplicationState empfängt.
Beispiel
Das folgende Codebeispiel verwendet die Eigenschaft Application des Page-Objekts, um dem Application-Objekt ein Namens-/Wertpaar hinzuzufügen und den Wert in einem Beschriftungssteuerelement anzuzeigen. Da alle Eigenschaften des Page-Objekts dem gesamten zur Seite gehörigen Code direkt offen gelegt werden, ist es nicht erforderlich, die Klasse Page (d. h. Page.Application) explizit zu nennen, um auf die Eigenschaft Application zuzugreifen.
    Sub Page_Load(  )
       Application("Name") = "John Doe"
       Message.Text = "The value <em>" & CStr(Application("Name")) & _
          "</em> has been added to the Application collection."
    End Sub
Hinweise
Es ist zwar möglich, eine lokale Objektreferenz in die Instanz HttpApplicationState für die Anwendung abzurufen, aber in der Regel wird diese Eigenschaft genutzt, um wie im Beispiel gezeigt darauf direkt über die Eigenschaft Application zuzugreifen.

Cache |
    Cache = Page.Cache
Gibt eine Instanz der Klasse Cache zurück, die den Cache für eine Anwendungsdomäne darstellt. Mithilfe der Eigenschaft Cache können Daten dem Cache hinzugefügt und von dort abgerufen werden.
Parameter Cache Eine Variable des Typs Cache, die die Cache-Instanz empfängt.
Beispiel
Im folgenden Codebeispiel werden dem Cache-Objekt mittels der Eigenschaft Cache der Klasse Page zwei Namens-/Wertpaare hinzugefügt. Die Werte werden mithilfe der Eigenschaft Cache des Page-Objekts in einem Beschriftungssteuerelement angezeigt:
    Sub Page_Load(o As Object, e As EventArgs)
       Cache("Name") = "John Doe"
       Cache("Age") = 42
       Message.Text = CStr(Cache.Item("Name")) & " is " & _
          CStr(Cache("Age")) & " years old."
    End Sub
Hinweise
Wie auch beim Application-Objekt erfolgt der Zugriff auf das Cache-Objekt häufiger direkt über die Eigenschaft Cache als über den Abruf einer lokalen Objektreferenz auf die Cache-Instanz der Anwendung. Kapitel 13 enthält Informationen über den möglichen Einsatz von Cache in ASP.NET anstelle der ApplicationState-Sammlung und umgekehrt. Zur Klasse Cache gehören folgende Mitglieder:
Cache-Mitglied | Beschreibung
--- | ---
Add (Methode) | Fügt dem Cache ein Element hinzu.
Count (Eigenschaft) | Gibt an, wie viele Elemente der Cache enthält.
Get (Methode) | Gibt ein Objekt zurück, das im Cache vorhandene Daten mit einem bestimmten Schlüsselwert darstellt.
Insert (Methode) | Fügt dem Cache ein Element hinzu und weist diesem einen Schlüssel zu.
Item (Eigenschaft) | Gibt ein Objekt zurück, das abhängig vom Schlüsselwert ein Element des Cache darstellt, oder legt ein Datenelement im Cache fest und weist diesem einen Schlüsselwert zu.
Remove (Methode) | Entfernt ein Element mit einem bestimmten Schlüsselwert aus dem Cache.

ClientTarget |
    String = Page.ClientTarget
Dient zum Abrufen oder Festlegen eines Stringwerts, mit dem Sie die automatische Browsererkennung in ASP.NET außer Kraft setzen oder die Darstellung der Seite in einem in machine.config oder web.config konfigurierten und durch diese Eigenschaft festgelegten Browsertyp erzwingen können. Folgende Werte sind für diese Eigenschaft vorkonfiguriert: downlevel Die Darstellung der Seite hängt von den Browserfunktionen ab, die im Element <browserCaps> in machine.config für unbekannte Browser definiert sind. ie4 Die Darstellung der Seite hängt von den Werten ab, die im Element <browserCaps> in machine.config für Internet Explorer 4.0 konfiguriert sind. ie5 Die Darstellung der Seite hängt von den Werten ab, die im Element <browserCaps> in machine.config für Internet Explorer 5.0 konfiguriert sind.
Parameter String Ein String, der den Alias für die Browserfunktionen festlegt, auf die die Seite abgestimmt ist.
Beispiel
Das folgende Codebeispiel setzt die Eigenschaft ClientTarget der Klasse Page auf downlevel. Dies bedeutet, dass ASP.NET die Seite für einen unbekannten Browsertyp wiedergeben muss. Die Ausgabe entspricht daher HTML 3.2. Das Beispiel gibt anschließend eine Meldung aus, aus der hervorgeht, ob ein Funktionssatz unterstützt wird. Im Falle von downlevel wird keine der aufgeführten Funktionen unterstützt.
    Sub Page_Load(  )
       Page.ClientTarget = "downlevel"
          Message.Text = "Page is set to render for the " & _
       Page.ClientTarget & " alias.<br/>"
       Message.Text &= "Supported features:<br/>"
       Message.Text &= " - JavaScript: " & _
          Request.Browser.JavaScript & "<br/>"
       Message.Text &= " - ActiveX Controls: " & _
          Request.Browser.ActiveXControls & "<br/>"
       Message.Text &= " - Frames: " & _
          Request.Browser.Frames & "<br/>"
    End Sub
Hinweise
ClientTarget kann auch mithilfe des Attributs ClientTarget der Direktive @ Page angegeben werden. Wenn wie im Beispiel der Wert für die Eigenschaft ClientTarget auf ie4 gesetzt wird, geht aus der Ausgabe hervor, dass alle aufgeführten Funktionen unterstützt werden. Zwar stellen die meisten Serversteuerelemente HTML 3.2 für alle Browser dar, jedoch sind die Validatorsteuerelemente ein Beispiel für Steuerelemente, die abhängig vom ClientTarget-Wert eine andere Darstellung bewirken. Wenn die Eigenschaft ClientTarget auf downlevel gesetzt wird, erfolgt die Validierung auf der Serverseite. Das bedeutet, dass beim Anzeigen der Quelle kein clientseitiges Skript eine Validierung durchführt. Wenn ClientTarget auf uplevel gesetzt wird, generieren die Validatorsteuerelemente clientseitigen JavaScript-Code, um eine clientseitige Validierung durchzuführen.

Context |
    HttpContext = Page.Context
Gibt eine Instanz von HttpContext zurück, die Kontextinformationen für die aktuelle HTTP-Anforderung enthält.
Parameter HttpContext Eine Variable des Typs HttpContext, die die Referenz auf die aktuelle Instanz von HttpContext empfängt.
Beispiel
Im folgenden Codebeispiel wird die Eigenschaft Context verwendet, um den Namen des momentan angemeldeten Benutzers zurückzugeben. Diese Informationen können auch über die Eigenschaft User der Klasse Page abgerufen werden, die sich von dem zur aktuellen Anforderung gehörenden HttpContext ableitet.
    Sub Page_Load(  )
       Message.Text = "Currently logged in as: " & _
          Context.User.Identity.Name
    End Sub
Hinweise
Diese Eigenschaft wird häufig eingesetzt, um eine Referenz auf HttpContext für die aktuelle Anforderung eines Geschäftsobjekts zu übergeben, das Zugriff auf die intrinsischen Objekte von ASP.NET (Request, Response usw.) benötigt. Die Klasse HttpContext ermöglicht nicht nur den Zugriff auf die intrinsischen Objekte Application, Request, Response, Server und Session, sondern auch auf Trace- und User-Informationen für die aktuelle HTTP-Anforderung.

EnableViewState |
    Boolean = Page.EnableViewState
    Page.EnableViewState = Boolean
Dient zum Zurückgeben oder Festlegen eines Booleschen Werts, der angibt, ob die Seite ihren Ansichtsstatus und den der darin enthaltenen Serversteuerelemente beibehält. Standardmäßig besitzt diese Eigenschaft den Wert True, der angibt, dass die Seite ihren Ansichtsstatus beibehält.
Parameter Boolean Ein Boolescher Wert, der angibt, ob die Seite ihren Ansichtsstatus beibehält.
Beispiel
Das folgende Codebeispiel setzt EnableViewState mithilfe des Attributs EnableViewState der Direktive @ Page auf False und zeigt den Wert auf der Seite an:
    <%@ Page Language="vb" EnableViewState="True" %>
    <html>
       <head>
          <title></title>
          <script runat="server">
             Sub Page_Load(  )
                If Page.EnableViewState = True Then
                   Message.Text = "ViewState is enabled."
                Else
                   Message.Text = "ViewState is disabled."
                End If
             End Sub
          </script>
       </head>
    <body>
       <form runat="server">
          <asp:label id="Message" runat="server"/>
       </form>
    </body>
    </html>
Hinweise
Wie im Beispiel gezeigt, kann die Eigenschaft EnableViewState auch mithilfe des Attributs EnableViewState der Direktive @ Page angegeben werden. Bei Untersuchung des HTML-Quelltextes einer Seite mit der Browserfunktion "Quelltext" zeigt sich die Auswirkung der Eigenschaft EnableViewState. Wenn die Eigenschaft EnableViewState auf False gesetzt ist, ergibt sich in etwa folgender Quelltext:
    <input type="hidden" name="_  _VIEWSTATE"
           value="dDwxMDA3MzE2MzEyOzs+" />
Wenn die Eigenschaft EnableViewState auf True gesetzt ist, ergibt sich in etwa folgender Quelltext:
    <input type="hidden" name="_  _VIEWSTATE"
    value="dDwxMDA3MzE2MzEyO3Q8O2w8aTwxPjs+O2w8dDw7bDxpPDM+Oz47bDx0PHA8cDxsPF
    RleHQ7PjtsPFZhbHVlIG9mIHRoZSBFbmFibGVWaWV3U3RhdGUgcHJvcGVydHkgaXMgVHJ1ZTs
    +Pjs+Ozs+Oz4+Oz4+Oz4=" />
Die zusätzlichen Zeichen im Wert des versteckten Felds _ _VIEWSTATE geben den Ansichtsstatus der aktuellen Seite an. Zum Ansichtsstatus einer Seite gehören auch die nicht permanenten Eigenschaften von Serversteuerelementen, etwa BackColor oder ForeColor. Seiten, die kein <form>-Element mit dem Attribut runat="server" enthalten, speichern unabhängig vom Wert der Eigenschaft EnableViewState den Ansichtsstatus nicht.

ErrorPage |
    String = Page.ErrorPage
    Page.ErrorPage = String
Dient zum Zurückgeben oder Festlegen des Namens der Umleitungsseite, die bei einem unverarbeiteten Seitenausnahmefehler angezeigt wird.
Parameter String Ein String, der den Namen der Umleitungsseite angibt, die bei einem unverarbeiteten Seitenausnahmefehler angezeigt wird.
Beispiel
Das unten stehende Codebeispiel ändert die Eigenschaft ErrorPage und zeigt die ausgeführte Seite, wenn in der Seite ein unverarbeiteter Ausnahmefehler auftritt:
    Sub Page_Load(  )
       Page.ErrorPage = "ErrorPage_Handler.aspx"
       Dim x, y, overflow As Integer
       x = 1
       y = 0
       overflow = x/y
       'This code will not be executed
       Message.Text = "Error Page is " & Page.ErrorPage & "."
    End Sub
Page_Load für ErrorPage_Handler.aspx sieht folgendermaßen aus:
    Sub Page_Load(  )
       Message.Text = "We're sorry. An error occurred during the" & _
          " processing of your request. Please try again later."
    End Sub
Hinweise
Die Eigenschaft ErrorPage kann auch mithilfe des Attributs ErrorPage der Direktive @ Page angegeben werden.

IsPostBack |
    Boolean = Page.IsPostBack
Gibt einen Booleschen Wert zurück, der angibt, ob die Seite zum ersten Mal geladen wird (False) oder aufgrund eines Client-Postbacks geladen wird (True). Diese Eigenschaft ist sehr nützlich für die Logik, die bei der erstmaligen Ausführung der Seite ausgeführt werden muss oder jedes Mal, wenn die Seite an sich selbst zurück übertragen wird (je nach der konkreten Struktur der If-Anweisung).
Parameter Boolean Ein Boolescher Wert, der angibt, ob die Seite zum ersten Mal oder aufgrund eines Client-Postbacks geladen wird.
Beispiel
Das unten stehende Codebeispiel verwendet die Eigenschaft IsPostBack zur Anzeige verschiedener Meldungen im Beschriftungssteuerelement, je nachdem, ob die Seite zum ersten Mal oder aufgrund eines Client-Postbacks geladen wird. Wenn die Seite zum ersten Mal geladen wird, gibt die Eigenschaft IsPostBack den Wert False zurück, wodurch die Zeichenfolge Non-PostBack angezeigt wird. Durch einen Klick auf die Schaltfläche wird die Seite an sich selbst zurück übertragen, woraufhin IsPostBack den Wert True zurückgibt und die Zeichenfolge PostBack angezeigt wird.
    <%@ Page Language="vb" %>
    <html>
       <head>
          <title></title>
          <script runat="server">
             Sub Page_Load(  )
                If Page.IsPostBack Then
                   Message.Text = "PostBack"
                Else
                   Message.Text = "Non-PostBack"
                End If
             End Sub
          </script>
       </head>
    <body>
       <form runat="server">
          <asp:button id="post" Text="Post page" runat="server"/>
          <asp:label id="Message" runat="server"/>
       </form>
    </body>
    </html>
Hinweise
Die Eigenschaft IsPostBack gibt nur für solche Seiten True zurück, die ein <form>-Element mit dem Attribut runat="server" und mindestens ein Steuerelement enthalten, das einen Postback auslösen kann. Bei diesem Steuerelement kann es sich, wie im Beispiel gezeigt, um eine Schaltfläche (Button) handeln, aber auch um andere Steuerelemente, beispielsweise eine Dropdown-Liste (DropDownList), deren Eigenschaft AutoPostBack auf True gesetzt ist.

IsValid |
    Boolean = Page.IsValid
Gibt einen Booleschen Wert zurück, der angibt, ob Validatorsteuerelemente auf der Seite die Benutzereingabe erfolgreich validieren konnten oder nicht.
Parameter Boolean Ein Boolescher Wert, der angibt, ob die Validierung erfolgreich war.
Beispiel
Im Beispiel wird die Eigenschaft IsValid verwendet, um zu überprüfen, ob die Validierung für die aktuelle Seite erfolgreich war. Dazu wird eine Meldung angezeigt:
    <%@ Page Language="vb" %>
    <html>
       <head>
          <title></title>
          <script runat="server">
             Sub Page_Load(  )
                If IsPostBack Then
                   Page.Validate(  )
                   If Page.IsValid Then
                      Message.Text = "Page is valid."
                   Else
                      Message.Text = "Page is not valid."
                   End If
                End If
             End Sub
          </script>
       </head>
    <body>
       <form runat="server">
          Enter your name:
          <asp:textbox id="name" runat="server"/>
          <asp:requiredfieldvalidator
             id="rfvName"
             controltovalidate="name"
             enableclientscript="false"
             errormessage="Required!"
             runat="server"/>
          <br/>
          <asp:button id="submit" Text="Submit" runat="server"/>
          <br/>
          <asp:label id="Message" runat="server"/>
       </form>
    </body>
    </html>
Hinweise
Die Eigenschaft IsValid bestimmt, ob die Gesamtvalidierung durch die Validatorsteuerelemente (Validators) eines Formulars erfolgreich war. Wenn die Seite keine Validatorsteuerelemente enthält, ist der Wert dieser Eigenschaft immer True. Vor der Überprüfung des Werts von IsValid müssen Sie entweder wie im Beispiel gezeigt die Methode Page.Validate aufrufen oder Sie müssen die Seite mit einem Steuerelement (z. B. Button, ImageButton oder LinkButton) abgeschickt haben, dessen Eigenschaft CausesValidation auf True gesetzt ist. Andernfalls tritt ein Ausnahmefehler auf. Im Beispiel wird die Eigenschaft EnableClientScript des Steuerelements RequiredFieldValidator auf False gesetzt, wodurch die clientseitige Validierung deaktiviert wird. Standardmäßig ist die clientseitige Validierung aktiviert und die Seite wird nicht an den Server gesendet, wenn die Validierung fehlschlägt. Uplevel-Browser führen die Validierung auf dem Client mit clientseitigen Skripts durch. Die Seite wird nur abgesendet, wenn die Validierung erfolgreich ist. Erst beim Absenden der Seite wird die serverseitige Ereignisbehandlungsroutine ausgeführt und je nach dem Wert der Eigenschaft IsValid eine Meldung angezeigt. Bei der Überprüfung der Eigenschaft IsValid ist es von Bedeutung, ob die clientseitige Validierung aktiviert ist, da ein Client mit böswilliger Absicht die clientseitige Validierung umgehen könnte.

Request |
    HttpRequest = Page.Request
Gibt einen Instanz der Klasse HttpRequest zurück, die den Zugriff auf Daten von eingehenden HTTP-Anforderungen ermöglicht. Dies entspricht dem intrinsischen ASP-Objekt Request. Weitere Informationen zur Klasse HttpRequest finden Sie in Kapitel 16.
Parameter HttpRequest Ein Objekt des Typs HttpRequest, das die Daten von eingehenden HTTP-Anforderungen enthält.
Beispiel
Das folgende Codebeispiel verwendet die Sammlung ServerVariables des HttpRequest-Objekts, um die IP-Adresse des Clients anzuzeigen, von dem die Anforderung stammt:
    Sub Page_Load(  )
       Message.Text = "The current request is from: " & _
          CStr(Request.ServerVariables.Item("REMOTE_ADDRESS"))
    End Sub
Hinweise
Wie bei den Eigenschaften Application und Cache können Sie zwar eine lokale Referenz auf die HttpRequest-Instanz abrufen, die zur Anforderung gehört, aber häufiger noch erfolgt der Zugriff auf diese Instanz direkt über die Eigenschaft Request, wie auch in diesem Beispiel gezeigt.

Response |
    HttpResponse  = Page.Response
Gibt eine Instanz der Klasse HttpResponse zurück, die Daten über die Antwort speichert und das Senden von HTTP-Antwortdaten an einen Browser ermöglicht. Dies entspricht dem intrinsischen ASP-Objekt Response. Weitere Informationen zur Klasse HttpResponse finden Sie in Kapitel 17.
Parameter HttpResponse Ein Objekt des Typs HttpResponse, das die Instanz der Klasse HttpResponse empfängt.
Beispiel
Das folgende Beispiel verwendet die Eigenschaft Response des Page-Objekts, um die Eigenschaft ContentType der Klasse HttpResponse auf text/xml zu setzen. Beim Setzen dieser Eigenschaft wird die Ausgabe der Seite im XML-Format in Internet Explorer 5.0 oder höher angezeigt.
    Sub Page_Load(  )
       Response.ContentType = "text/xml"
       Message.Text = "This page will be displayed as XML in " & _
          "Internet Explorer 5.0 or above."
    End Sub
Hinweise
Wie bei den Eigenschaften Application und Cache können Sie zwar eine lokale Referenz auf die Instanz HttpResponse abrufen, die zur Anforderung gehört, aber häufiger noch erfolgt der Zugriff auf diese Instanz direkt über die Eigenschaft Request, wie auch in diesem Beispiel gezeigt.

Server |
    HttpServerUtility = Page.Server
Gibt eine Instanz der Klasse HttpServerUtility zurück, die nützliche Methoden zur Arbeit mit ASP.NET-Anfragen offen legt. Weitere Informationen zur Klasse HttpServerUtility finden Sie in Kapitel 18.
Parameter HttpServerUtility Ein Objekt des Typs HttpServerUtility, das sich zum Zugriff auf nützliche Eigenschaften und Methoden eignet, die von dieser Klasse offen gelegt werden.
Beispiel
Das folgende Codebeispiel verwendet die Eigenschaft Server zum Zugriff auf die Methode HtmlEncode der Klasse HttpServerUtility, die die Kodierung von HTML-Tags und -Zeichen ermöglicht, so dass diese dem Benutzer direkt angezeigt statt interpretiert und vom Browser dargestellt werden:
    Sub Page_Load(  )
       Message.Text = Server.HtmlEncode("<em>Hello, World!</em>")
    End Sub
Der aus dieser Seite erzeugte HTML-Code sähe folgendermaßen aus:
    <html>
       <head>
          <title>Server property example</title>
       </head>
    <body>
       <span id="Message">&lt;em&gt;Hello, World!&lt;/em&gt;</span>
    </body>
    </html>
Hinweise
Wie bei den Eigenschaften Request und Response können Sie zwar eine lokale Referenz auf die Instanz HttpServerUtility abrufen, die zur Anwendung gehört, aber häufiger noch erfolgt der Zugriff auf diese Instanz direkt über die Eigenschaft Server, wie auch in diesem Beispiel gezeigt.

Session |
    HttpSessionState = Page.Session
Gibt ein Objekt zurück, das die aktuelle Benutzersitzung darstellt. Ein Session-Objekt wird für jeden Benutzer angelegt, der eine Seite von einer ASP.NET-Anwendung anfordert. Sie können sitzungsspezifische Daten im Session-Objekt ablegen und dann über mehrere Seiten in einer ASP.NET-Anwendung darauf zugreifen. Weitere Informationen zur Klasse HttpSessionState finden Sie in Kapitel 19.
Parameter HttpSessionState Ein HttpSessionState-Objekt, das die aktuelle Benutzersitzung darstellt.
Beispiel
Das Beispiel verwendet das Session-Objekt zur Anzeige des Werts der Eigenschaft Mode, das angibt, wo Informationen über den Sitzungsstatus gespeichert werden:
    Sub Page_Load(  )
       Message.Text = "Current Session State Mode: " &_
               Session.Mode.ToString(  )
    End Sub
Hinweise
Wie bei den Eigenschaften Request und Response können Sie zwar eine lokale Referenz auf die Instanz HttpSessionState abrufen, die zur Anforderung gehört, aber häufiger noch erfolgt der Zugriff auf diese Instanz direkt über die Eigenschaft Session, wie auch in diesem Beispiel gezeigt.

SmartNavigation |
    Boolean = Page.SmartNavigation
    Page.SmartNavigation = Boolean
Dient zum Zurückgeben oder Festlegen eines Booleschen Werts, der angibt, ob die Funktion SmartNavigation aktiviert ist. Die Funktion SmartNavigation ist nur mit dem Internet Explorer kompatibel und verwendet <iframe>-Elemente, damit nur Teile der Seite aktualisiert werden, wenn ein Postback der Seite erfolgt. Dies trägt zur Vermeidung des lästigen Flackerns bei, das bei Postbacks auftritt.
Parameter Boolean Ein Boolescher Wert, der angibt, ob die Funktion SmartNavigation aktiviert ist.
Beispiel
Das folgende Codebeispiel setzt die Eigenschaft SmartNavigation mit dem Attribut SmartNavigation der Direktive @ Page auf True. Beim Postback der Seite wird nur die aktuelle Seite im Browserverlauf gespeichert, so dass die Schaltfläche "Zurück" deaktiviert ist.
    <%@ Page Language="vb" SmartNavigation="True" %>
    <html>
       <head>
          <title>SmartNavigation property example</title>
          <script runat="server">
             Sub Page_Load(  )
                Message.Text = "This Label will change."
                Message2.Text = "This Label will not change."
             End Sub
             Sub UpdateLabel(Sender As Object, e As EventArgs)
                Message.Text = "This Label has changed."
             End Sub
          </script>
       </head>
    <body>
       <form runat="server">
          <asp:label id="Message" runat="server"/>
          <asp:button id="update"
             onClick="UpdateLabel"
             text="Click to update label text"
             runat="server"/>
       </form>
       <asp:label id="Message2" runat="server"/>
    </body>
    </html>
Hinweise
SmartNavigation verhindert nicht nur das Flackern beim Navigieren oder Postback, sondern behält auch die aktuelle Bildlaufposition bei, wenn ein Postback erfolgt, und schreibt nur eine einzelne Seite in den Browserverlauf, damit die Benutzer nicht auf die Schaltfläche "Zurück" klicken können, um zu einem vorherigen Zustand der Seite zu gelangen. Sie können diese Eigenschaft zwar über den Code setzen, es empfiehlt sich allerdings, sie über das Attribut SmartNavigation der Direktive @ Page festzulegen, wie in diesem Beispiel gezeigt.

Trace |
    TraceContext = Page.Trace
Gibt das Objekt TraceContext für die aktuelle Webanforderung zurück. Die Ablaufverfolgung liefert Einzelheiten über die Ausführung der Webanforderung. Zur Klasse TraceContext gehören folgende Mitglieder:
Mitglied | Beschreibung
--- | ---
IsEnabled | Gibt an, ob die Ablaufverfolgung für die aktuelle Seite aktiviert ist.
TraceMode | Ein Mitglied der Aufzählung TraceMode, das angibt, wie viele Elemente sortiert werden sollen. Mögliche Werte sind SortByCategory und SortByTime. Letzteres ist der in machine.config definierte Standardwert.
Warn (Methode) | Schreibt eine Meldung in rotem Text in das Trace-Protokoll.
Write (Methode) | Schreibt eine Meldung in das Trace-Protokoll.
Parameter TraceContext Eine Instanz der Klasse TraceContext.
Beispiel
Im folgenden Beispiel wird die Ablaufverfolgung programmatisch aktiviert, und zwar durch die Eigenschaft Trace der Klasse Page.
    Sub Page_Load(  )
       If Trace.IsEnabled = True Then
          Message.Text = "Tracing is enabled."
       Else
          Message.Text = "Tracing is not enabled."
       End If
    End Sub
Hinweise
Wie bei den Eigenschaften Request und Response können Sie zwar eine lokale Referenz auf die Instanz TraceContext abrufen, die zur Anforderung gehört, aber häufiger noch erfolgt der Zugriff auf diese Instanz direkt über die Eigenschaft Trace, wie auch in diesem Beispiel gezeigt. Weitere Informationen über die Ablaufverfolgung in Anwendungen finden Sie in Kapitel 10.

User |
    IPrincipal = Page.User
Gibt eine Instanz eines Objekts zurück, das die IPrincipal-Schnittstelle implementiert, die Sicherheitsinformationen über den Benutzer enthält, von dem die Seitenanforderung stammt. Die IPrincipal-Schnittstelle implementiert die folgenden Mitglieder:
Mitglied | Beschreibung
--- | ---
Identity (Eigenschaft) | Gibt das IIdentity-Objekt zurück, das den Benutzer darstellt, der die Seite angefordert hat.
IsInRole (Eigenschaft) | Gibt an, ob der Benutzer, der die Seite anfordert, eine bestimmte Rolle hat.
Parameter IPrincipal Eine Objektvariable, die IPrincipal implementiert.
Beispiel
Das Beispiel ruft über die Eigenschaft User den Authentifizierungsstatus und den Namen des Benutzers ab und zeigt diese Angaben im Browser an:
    Sub Page_Load(  )
       Message.Text = "Authenticated: " & _
          User.Identity.IsAuthenticated & "<br/>"
       Message.Text &= "User Name: " & User.Identity.Name
    End Sub
Hinweise
Damit das von der Eigenschaft User zurückgegebene IPrincipal-Objekt gefüllt ist, muss in machine.config oder web.config in irgendeiner Weise eine Authentifizierung konfiguriert sein. Zumindest aber muss eine Autorisierungsregel konfiguriert sein, die anonyme Benutzer ausschließt. Sind diese Bedingungen nicht erfüllt, gibt die Eigenschaft IsAuthenticated des IIdentity-Objekts False und die Eigenschaft Name einen leeren String zurück.

ViewState |
    StateBag = Page.ViewState
Die Eigenschaft ViewState gibt eine Instanz der Klasse StateBag zurück, die Statusinformationen für Serversteuerelemente auf der Seite enthält. Diese StateBag-Instanz kann auch zum Speichern von beliebigen Daten verwendet werden, die für mehrere Anforderungen derselben Seite beibehalten werden müssen.
Parameter StateBag Ein Objekt des Typs StateBag, das die Eigenschaftenwerte für Serversteuerelemente auf der Seite enthält. Diese StateBag-Instanz kann auch zum Speichern von beliebigen Daten verwendet werden, die für mehrere Anforderungen derselben Seite beibehalten werden müssen.
Beispiel
Das folgende Codebeispiel legt die Eigenschaft ForeColor des Steuerelements Message fest und speichert anschließend den Wert dieser Farbe in der ViewState-Instanz von StateBag. Beim Postback der Seite ruft der Code die gespeicherte Farbe ab und ändert abhängig vom Namen der Farbe die Farbe von Red zu Black oder umgekehrt.
    <%@ Page Language="vb" %>
    <html>
       <head>
          <title>ViewState property example</title>
          <script runat="server">
             Sub Page_Load(  )
                Dim LocalColor As System.Drawing.Color
                If IsPostBack Then
                   LocalColor = CType(ViewState("LabelColor"), _
                      System.Drawing.Color)
                   If LocalColor.Name = "Black" Then
                      LocalColor = System.Drawing.Color.Red
                   Else
                      LocalColor = System.Drawing.Color.Black
                   End If
                   Message.ForeColor = LocalColor
                   Message.Text = "Label color is " & LocalColor.Name
                   ViewState("LabelColor") = LocalColor
                Else
                   Message.ForeColor = System.Drawing.Color.Black
                   LocalColor = Message.ForeColor
                   Message.Text = "Label color is " & LocalColor.Name
                   ViewState("LabelColor") = LocalColor
                End If
             End Sub
          </script>
       </head>
    <body>
       <form runat="server">
          <asp:button id="button"
             text="Click to change label color"
             runat="server"/>
          <asp:label id="Message" runat="server"/>
       </form>
    </body>
    </html>
Hinweise
ViewState verwaltet nicht nur den Status von Serversteuerelementen automatisch, sondern eignet sich auch hervorragend für den Status der Seite selbst, der von Anforderung zu Anforderung beibehalten werden muss. Die Klasse StateBag kann neben der Speicherung primitiver Datentypen wie Integer oder Strings auch zum Speichern von Objekten verwendet werden, vorausgesetzt, diese Objekte unterstützen die Serialisierung, wie beispielsweise die Struktur Color im Beispiel. Wenn Sie ein Objekt speichern, das die Serialisierung in ViewState unterstützt, wird der Objektstatus automatisch in eine Form serialisiert, die in ViewState gespeichert und zu einer Objektinstanz deserialisiert werden kann, wenn Sie erneut auf das Objekt verweisen. Da ViewState keine Typinformationen mit dem Objekt speichert, müssen Sie das von ViewState abgerufene Objekt in den korrekten Typ umsetzen. In diesem Beispiel ist der Typ System.Drawing.Color. Überlegen Sie es sich gut, wenn Sie große Objekte wie Datensätze in ViewState speichern möchten. Da ViewState als verstecktes Formularfeld gespeichert wird, wird es bei jeder Anforderung an den Browser gesendet. Das Speichern großer Objekte in ViewState führt zu längeren Ladezeiten der Seiten.

Controls |
    ControlCollection = Page.Controls
Bietet Zugriff auf die zur Seite gehörige ControlCollection-Instanz, mit der Sie zur Laufzeit Steuerelemente hinzufügen oder bearbeiten können.
Parameter ControlCollection Ein Objekt des Typs ControlCollection, das die zur Seite gehörigen Steuerelemente enthält.
Beispiel
Das Codebeispiel verwendet die Eigenschaft Controls, um die Eigenschaft Count der zur Seite gehörigen Klasseninstanz ControlCollection anzuzeigen. Anschließend fügt der Code ein neues Beschriftungssteuerelement (Label) zur Sammlung hinzu und zeigt die aktualisierte Eigenschaft Count durch die Verwendung der neuen Beschriftung an.
    Sub Page_Load(  )
       Message.Text = "There are currently " & Controls.Count & _
          " controls on the page.<br/>"
       Dim Message2 As New Label
       Controls.AddAt(Controls.Count - 1, Message2)
       Message2.Text = "There are now " & Controls.Count & _
          " controls on the page."
    End Sub
Hinweise
Wie bei den Eigenschaften Session und Trace können Sie zwar eine lokale Referenz auf die Sammlung Controls abrufen, die zur Seite gehört, aber häufiger noch erfolgt der Zugriff auf diese Instanz direkt über die Eigenschaft Controls, wie auch im Beispiel gezeigt. Wenn Sie zum Hinzufügen von Steuerelementen zu einer Seite, die bereits Steuerelemente enthält, die Methode AddAt der Klasse ControlCollection verwenden, können Sie das Steuerelement viel genauer positionieren als mit der Methode Add, durch die das Steuerelement einfach nur am Ende der Sammlung angefügt wird. Im Codebeispiel würde die Verwendung der Methode Add dazu führen, dass die Ausgabe des hinzugefügten Beschriftungssteuerelements nach dem </html>-Schluss-Tag angezeigt wird. Dies ist kein optimaler HTML-Code und könnte zur fehlerhaften Darstellung der Seite in einigen Browsern führen.

Validators |
    ValidatorCollection = Page.Validators
Gibt eine Instanz der Klasse ValidatorCollection zurück, die alle Validatorsteuerelemente in der angeforderten Seite enthält. Der Zugriff auf die einzelnen Validatorsteuerelemente ist durch Durchlaufen der ValidatorCollection-Sammlung möglich.
Parameter ValidatorCollection Eine Objektvariable des Typs ValidatorCollection.
Beispiel
Das Codebeispiel zeigt ein Textfeldsteuerelement (Textbox) an, dem je ein Steuerelement RequiredFieldValidator und RegularExpressionValidator zugewiesen ist. Bei Page_Load durchläuft der Code die von der Eigenschaft Validators zurückgegebene ValidatorCollection und zeigt die Eigenschaften ID und ErrorMessage jedes Validators in der Sammlung an.
    <%@ Page Language="vb" %>
    <html>
       <head>
          <title></title>
          <script runat="server">
             Sub Page_Load(  )
                Dim Validator as BaseValidator
                For Each Validator in Validators
                   Message.Text &= Validator.ID & " error message: "
                   Message.Text &= Validator.ErrorMessage & "<br/>"
                Next
             End Sub
          </script>
       </head>
    <body>
       <form runat="server">
          Phone: <asp:textbox id="phone" runat="server"/>
          <asp:requiredfieldvalidator
             id="rfvPhone"
             controltovalidate="phone"
             display="dynamic"
             errormessage="Required!"
             runat="server"/>
          <asp:regularexpressionvalidator
             id="revPhone"
             controltovalidate="phone"
             display="dynamic"
             validationexpression="^[2-9]\d{2}-\d{3}-\d{4}$"
             errormessage="Enter a phone number in the form xxx-xxx-xxxx"
                 runat="server"/>
          <br/>
          <asp:button id="submit" text="Submit" runat="server"/>
       </form>
       <br/>
       <asp:label id="Message" runat="server"/>
    </body>
    </html>
Hinweise
Da nur solche Eigenschaften von Validatorsteuerelementen angezeigt werden, die vom Steuerelement BaseValidator (von dem sich alle Validatorsteuerelemente ableiten) vererbt wurden, ist es nicht erforderlich, vor dem Zugreifen auf die Eigenschaften den Validator auf einen speziellen Typ zu setzen. Wenn allerdings eine Eigenschaft angezeigt werden soll, die sich speziell auf den verwendeten Validatortyp bezieht (z. B. die Eigenschaft ValidationExpression der Klasse RegularExpressionValidator), muss das Steuerelement auf den korrekten Typ gesetzt werden. In Visual Basic .NET wird dazu das Schlüsselwort CType verwendet.

DataBind |
    Page.DataBind(  )
Wertet Daten bindende Ausdrücke auf der Seite aus und löst sie auf. Diese Methode ruft auch DataBind für alle untergeordneten Steuerelemente auf.
Parameter
Keine
Beispiel
Das folgende Codebeispiel verwendet einen Daten bindenden Ausdruck, um das Attribut ForeColor eines Beschriftungssteuerelement-Tags auf den Wert einer lokalen Variablen namens color zu setzen. Wenn die Methode DataBind in Page_Load aufgerufen wird, wird der Wert der Variablen Color dem Attribut ForeColor zugewiesen. (Dies ist im Grunde genommen das gleiche wie das Setzen der Eigenschaft ForeColor im Code.)
    <%@ Page Language="vb" %>
    <html>
       <head>
          <title></title>
          <script runat="server">
             Dim Color As System.Drawing.Color = System.Drawing.Color.Red
             Sub Page_Load(  )
                Message.Text = "ForeColor is: " & Color.Name
                DataBind(  )
             End Sub
          </script>
       </head>
    <body>
       <asp:label id="Message" ForeColor="<%# Color %>" runat="server"/>
    </body>
    </html>
Hinweise
Wenn Sie für ein bestimmtes Steuerelement auf der Seite, z. B. DataGrid oder DataList, Daten binden möchten, ist es unter Umständen effizienter, DataBind für dieses Steuerelement aufzurufen statt für die Seite: Der Aufruf für das Steuerelement vermeidet unnötigen Overhead bei Steuerelementen, für die das Binden von Daten nicht erforderlich ist.

FindControl |
    Control = Page.FindControl(String)
Gibt eine Referenz auf das Steuerelementobjekt zurück, dessen Name dem angegebenenn Suchstring entspricht. Die Methode FindControl ist ein Mitglied der Basisklasse Control.
Parameter Control Eine Instanz der Klasse Control, die das Steuerelement darstellt, das mit der Methode FindControl gesucht wird. Dieses Steuerelement muss auf den korrekten Steuerelementtyp gesetzt werden, damit der Zugriff auf Mitglieder speziell dieses Steuerelementtyps möglich ist. String Ein String, der den programmatischen Bezeichner des Steuerelements enthält. Dieser Wert ist identisch mit dem Attribut ID eines deklarativen Steuerelements bzw. bei zur Laufzeit erstellten Steuerelementen mit dem für das Steuerelement definierten Objektnamen.
Beispiel
Der folgende Beispielcode sucht ein Steuerelement anhand seines Bezeichners und ändert seine Hintergrundfarbe:
    Sub Page_Load(  )
       Dim TheControl As Control = FindControl("Message")
       If Not TheControl Is Nothing Then
          Dim TheLabel As Label = CType(TheControl, Label)
          TheLabel.Text = "Found the label named Message!"
          TheLabel.BackColor = System.Drawing.Color.Blue
       End If
    End Sub
Hinweise
Die Methode FindControl, die von der Klasse Control (von der sich die Klasse Page ableitet) vererbt wird, ist praktisch beim Umgang mit verschachtelten Steuerelementen oder Benutzersteuerelementen, die in der übergeordneten Seite ein Steuerelement manipulieren müssen. So kann beispielsweise Code in einem Benutzersteuerelement FindControl auf der Seite mit dem Benutzersteuerelement aufrufen, um ein Steuerelement innerhalb der Seite (aber außerhalb des Benutzersteuerelements) zu suchen und zu manipulieren.

HasControls |
    Boolean = Page.HasControls(  )
Gibt einen Booleschen Wert zurück, der angibt, ob die Seite untergeordnete Steuerelemente enthält.
Parameter Boolean Ein Boolescher Wert, der angibt, ob die Seite untergeordnete Steuerelemente enthält.
Beispiel
Das Codebeispiel zeigt eine Meldung an, die abhängig von dem von HasControls zurückgegebenen Wert angibt, ob die Seite Steuerelemente in ihrer Controls-Sammlung enthält:
    Sub Page_Load(  )
       If Page.HasControls = True Then
          Message.Text = "The page contains controls."
       Else
          Message.Text = "The page does not contain controls."
       End If
    End Sub

LoadControl |
    objControl = Page.LoadControl(strPath)
Gibt eine Instanz des in der Benutzersteuerelementdatei strPath definierten Benutzersteuerelements zurück. Dies ermöglicht das dynamische Laden von Benutzersteuerelementen, so dass die Direktive @ Register nicht mehr verwendet werden muss.
Parameter objControl Ein Objekt des Typs Control, das das im betreffenden Pfad angegebene Benutzersteuerelement darstellt. strPath Der virtuelle Pfad zu einer Benutzersteuerelementdatei.
Beispiel
Das Codebeispiel verwendet LoadControl zum Laden eines Benutzersteuerelements zur Laufzeit und fügt dieses zur Controls-Sammlung der Seite hinzu:
    Sub Page_Load(  )
       Dim Hello As UserControl = LoadControl("hello.ascx")
       Page.Controls.Add(Hello)
    End Sub
Das Benutzersteuerelement hello.ascx sieht folgendermaßen aus:
    <h1>Hello, World!</h1>

MapPath |
    String = Page.MapPath(virtualPath)
Gibt den physischen Pfad an, der einem bestimmten virtuellen Pfad entspricht.
Parameter String Ein String mit dem physischen Pfad für virtualPath. virtualPath Ein String, der einen absoluten oder relativen virtuellen Pfad enthält.
Beispiel
Das Beispiel ordnet den virtuellen Pfad der benannten Seite ihrem physischen Pfad zu:
    Sub Page_Load(  )
       Message.Text = MapPath("MapPath.aspx")
    End Sub
Hinweise
Die Methode Page.MapPath entspricht von der Funktionalität her der Methode Server.MapPath.

ResolveUrl |
    String = Page.ResolveUrl(strRelativeUrl)
Gibt eine absolute URL zurück, die einer relativen URL entspricht.
Parameter String Ein String mit der absoluten URL. strRelativeUrl Eine relative URL.
Beispiel
Das Codebeispiel ordnet die relative URL einer absoluten URL zu:
    Sub Page_Load(  )
       Message.Text = Page.ResolveUrl("ResolveUrl.aspx")
    End Sub

Validate |
    Page.Validate(  )
Ruft die Validierungslogik für jedes Validatorsteuerelement auf der Seite auf. Beim Aufruf dieser Methode durchläuft sie die Sammlung ValidatorCollection des Page-Objekts und führt für jedes Validatorsteuerelement die zugehörige Validierungslogik aus.
Beispiel
Siehe das Beispiel für die Eigenschaft IsValid.
Hinweise
Die Methode Validate wird automatisch aufgerufen, wenn der Benutzer auf eine HTML- oder ASP-Schaltfläche klickt, deren Eigenschaft CausesValidation True ist.

Error |
    Sub Page_Error(Sender As Object, e As EventArgs)'error handling code
    End Sub
Das Ereignis Error wird ausgelöst, wenn ein nicht verarbeiteter Ausnahmefehler auf der Seite auftritt. Wenn für dieses Ereignis keine Ereignisbehandlungsroutine definiert ist, wird das Ereignis Application_Error ausgelöst. Wenn der Ausnahmefehler noch immer nicht verarbeitet ist, wird die Steuerung der bzw. den im Element <customErrors> in web.config definierten Seite(n) übergeben.
Parameter Sender Ein Argument mit Informationen über das Objekt, das das Ereignis ausgelöst hat. e Ein Objekt des Typs EventArgs, das zusätzliche Informationen über das Ereignis enthält.
Beispiel
Im folgenden Codebeispiel wird bewusst ein Überlauf-Ausnahmefehler herbeigeführt, der dann in der Behandlungsroutine Page_Error verarbeitet wird, wobei der Text des Ausnahmefehlers angezeigt und anschließend gelöscht wird:
    Sub Page_Load(  )
       Dim x, y, overflow As Integer
       x = 1
       y = 0
       overflow = x / y
    End Sub

    Sub Page_Error(  )
       Response.Write(Server.GetLastError.ToString(  ))
       Server.ClearError
    End Sub
Hinweise
Der aktuelle Ausnahmefehler wird über die Methode GetLastError der Klasse Server abgerufen. Sobald die Fehlerverarbeitung abgeschlossen ist, können Sie den Ausnahmefehler wie im Beispiel gezeigt durch Aufruf von Server.ClearError löschen oder zulassen, dass der Ausnahmefehler auf die nächste Stufe der Fehlerverarbeitung gelangt. Die Argumente Sender und e sind für dieses Ereignis optional, wie auch aus dem Beispiel hervorgeht. Wenn das Attribut AutoEventWireup der Direktive @ Page auf True gesetzt ist (Standardeinstellung), ruft ASP.NET automatisch die Ereignisbehandlungsroutine für dieses Ereignis auf, vorausgesetzt es besitzt die korrekte Page_Error-Signatur.

Init |
    Sub Page_Init(Sender As Object, e As EventArgs)'initialization code
    End Sub
Parameter Sender Ein Argument mit Informationen über das Objekt, das das Ereignis ausgelöst hat. e Ein Objekt des Typs EventArgs, das zusätzliche Informationen über das Ereignis enthält.
Beispiel
Das Codebeispiel initialisiert eine Variable zum Festlegen der Eigenschaft ForeColor einer Beschriftung in Page_Init und modifiziert anschließend diesen Wert, so dass die Eigenschaft ForeColor einer anderen Beschriftung in Page_Load gesetzt wird:
    <%@ Page Language="vb" %>
    <html>
       <head>
          <title>Init event example</title>
          <script runat="server">
             Dim TheColor As System.Drawing.Color
             Sub Page_Init(  )
                TheColor = System.Drawing.Color.Red
             End Sub
             Sub Page_Load(  )
                Message.ForeColor = TheColor
                Message.Text = "The color of the text was set in Page_Init."
                TheColor = System.Drawing.Color.Blue
                Message2.ForeColor = TheColor
                Message2.Text = "The color of the text was set in Page_Load."
             End Sub
          </script>
       </head>
    <body>
       <asp:label id="Message" runat="server"/>
       <br/>
       <asp:label id="Message2" runat="server"/>
    </body>
    </html>
Hinweise
Die Argumente Sender und e sind für dieses Ereignis optional, wie auch aus dem Beispiel hervorgeht. Wenn das Attribut AutoEventWireup der Direktive @ Page auf True gesetzt ist (Standardeinstellung), ruft ASP.NET automatisch die Ereignisbehandlungsroutine für dieses Ereignis auf, vorausgesetzt es besitzt die korrekte Page_Init-Signatur.

Load |
    Sub Page_Load(Sender As Object, e As EventArgs)'code
    End Sub
Wird ausgelöst, wenn die Seite geladen wird. Da dieses Ereignis bei jeder Seitenanforderung ausgelöst wird, kann jeder beliebige Initialisierungscode hinzugefügt werden, der auf Seitenebene ausgeführt werden muss. Dazu gehört auch die Initialisierung der untergeordneten Steuerelemente der Seite. Wenn das Ereignis Load ausgelöst wird, kann auch auf die Daten zum Ansichtsstatus der Seite zugegriffen werden. Dem Ereignis Load werden von ASP.NET die folgenden Argumente übergeben: Sender Ein Argument mit Informationen über das Objekt, das das Ereignis ausgelöst hat. e Ein Objekt des Typs EventArgs, das zusätzliche Informationen über das Ereignis enthält.
Beispiel
Siehe das Beispiel für Init.
Hinweise
Die Argumente Sender und e sind für dieses Ereignis optional, wie auch aus dem Beispiel hervorgeht. Wenn das Attribut AutoEventWireup der Direktive @ Page auf True gesetzt ist (Standardeinstellung), ruft ASP.NET automatisch die Ereignisbehandlungsroutine für dieses Ereignis auf, vorausgesetzt es besitzt die korrekte Page_Load-Ereignissignatur.

Unload |
    Sub Page_Unload(Sender As Object, e As EventArgs)'cleanup code
    End Sub
Wird ausgelöst, wenn die Seite aus dem Speicher entladen wird. Da dieses Ereignis ausgelöst wird, bevor die Seite entladen wird, können Bereinigungsvorgänge durchgeführt werden, beispielsweise das Schließen offener Dateien oder Datenbankverbindungen. Dem Ereignis Unload werden von ASP.NET die folgenden Argumente übergeben: Sender Ein Argument mit Informationen über das Objekt, das das Ereignis ausgelöst hat. e Ein Objekt des Typs EventArgs, das zusätzliche Informationen über das Ereignis enthält.
Beispiel
Das Beispiel veranschaulicht das Ereignis Unload, indem eine Datei geschlossen wird, die zur Anzeige in der Ereignisbehandlungsroutine Page_Load geöffnet wurde:
    Dim TheFile As System.IO.StreamReader
    Sub Page_Load(  )
       TheFile = System.IO.File.OpenText(MapPath("Init.aspx"))
       Message.Text = "<pre>" & _
          Server.HtmlEncode(TheFile.ReadToEnd(  )) & "</pre>"
    End Sub

    Sub Page_Unload(  )
       TheFile.Close(  )
    End Sub
Hinweise
Zwar eignet sich das Ereignis Unload zur Durchführung von Bereinigungsvorgängen auf Seitenebene, aber für Ressourcen wie Datenbanken, bei denen ein Ausnahmefehler die reguläre Seitenverarbeitung unterbrechen kann, kann es günstiger sein, den Bereinigungscode im Finally-Block einer Try...Catch...Finally-Anweisung zu platzieren. Dadurch wird sichergestellt, dass der Bereinigungscode immer ausgeführt wird. Weitere Informationen zu Try...Catch...Finally finden Sie in Kapitel 10. Die Argumente Sender und e sind für dieses Ereignis optional, wie auch aus dem Beispiel hervorgeht. Wenn das Attribut AutoEventWireup der Direktive @ Page auf True gesetzt ist (Standardeinstellung), ruft ASP.NET automatisch die Ereignisbehandlungsroutine für dieses Ereignis auf, vorausgesetzt es besitzt Page_Unload.