Share via


Page-Klasse

Stellt eine ASPX-Datei dar, auch als Web Forms-Seite bezeichnet, die von einem Server angefordert wurde, der den Host einer ASP.NET-Webanwendung darstellt.

Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Class Page
    Inherits TemplateControl
    Implements IHttpHandler
'Usage
Dim instance As Page
public class Page : TemplateControl, IHttpHandler
public ref class Page : public TemplateControl, IHttpHandler
public class Page extends TemplateControl implements IHttpHandler
public class Page extends TemplateControl implements IHttpHandler

Hinweise

Die Page-Klasse wird Dateien mit der Erweiterung .aspx zugeordnet. Diese Dateien werden zur Laufzeit als Page-Objekte kompiliert und im Arbeitsspeicher des Servers zwischengespeichert.

Wenn Sie eine Web Forms-Seite mithilfe der CodeBehind-Technik erstellen möchten, leiten Sie von dieser Klasse ab. RAD (Rapid Application Development)-Designer, z. B. Microsoft Visual Studio, verwenden automatisch dieses Modell zum Erstellen von Web Forms-Seiten.

Das Page-Objekt fungiert als Namenscontainer für alle Serversteuerelemente auf einer Seite. Ausgenommen sind die Serversteuerelemente, die die INamingContainer-Schnittstelle implementieren oder die untergeordnete Steuerelemente von Steuerelementen sind, die diese Schnittstelle implementieren.

Die Page-Klasse ist ein Steuerelement, das als Teil der Benutzeroberfläche für die Webanwendung verwendet wird. Aus diesem Grund sollte genau geprüft werden, ob die empfohlenen Vorgehensweisen zum Schreiben von sicherem Code und zur Sicherung von Anwendungen eingehalten wurden. Allgemeine Informationen zu diesen Themen finden Sie unter Übersicht über Sicherheitsrisiken bei Webanwendungen, Sicherheitsrichtlinien: Empfohlene Vorgehensweise und Schlüsselbegriffe der Sicherheit. Spezifischere Informationen finden Sie unter Sichern von Standardsteuerelementen, Gewusst wie: Anzeigen von sicheren Fehlermeldungen, Gewusst wie: Schutz gegen Skriptangriffe in einer Webanwendung durch Anwenden von HTML-Codierung auf Zeichenfolgen und Einführung in die Validierungssteuerelemente.

Thema Position
Exemplarische Vorgehensweise: Erstellen von Webseiten für mobile Geräte Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Ermitteln des Aufrufverfahrens einer ASP.NET-Webseite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Suchen von Web Forms-Steuerelementen auf einer Seite durch Durchlaufen der Steuerelementauflistung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Ermitteln des Aufrufverfahrens einer ASP.NET-Webseite Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Suchen von Web Forms-Steuerelementen auf einer Seite durch Durchlaufen der Steuerelementauflistung Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Ermitteln des Aufrufverfahrens einer ASP.NET-Webseite Erstellen von ASP.NET-Webanwendungen
Gewusst wie: Suchen von Web Forms-Steuerelementen auf einer Seite durch Durchlaufen der Steuerelementauflistung Erstellen von ASP.NET-Webanwendungen

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie die Page-Klasse im Code-Behind-Seitenmodell verwendet wird. Beachten Sie, dass die Code-Behind-Quelldatei eine Teilklasse deklariert, die von einer Basisseitenklasse erbt. Bei der Basisseitenklasse kann es sich um Page oder um eine andere Klasse handeln, die von Page abgeleitet wird. Beachten Sie außerdem, dass die Teilklasse die Verwendung von auf der Seite definierten Steuerelementen durch die Code-Behind-Datei zulässt, ohne dass sie als Feldmember definiert werden müssen.

Imports System

Partial Class MyCodeBehindVB
    Inherits System.Web.UI.Page


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        ' Place page-specific code here.

    End Sub

    ' Define a handler for the button click.
    Protected Sub SubmitBtn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyButton.Click

        MySpan.InnerHtml = "Hello, " + MyTextBox.Text + "."

    End Sub

End Class
using System;

public partial class MyCodeBehindCS : System.Web.UI.Page
{     
    protected void Page_Load(object sender, EventArgs e)
    {

        // Place page-specific code here.


    }

    // Define a handler for the button click.
    protected void SubmitBtn_Click(object sender, EventArgs e)
    {   

        MySpan.InnerHtml = "Hello, " + MyTextBox.Text + ".";

    }
}

Im folgenden Codebeispiel wird die ASPX-Datei veranschaulicht, die der vorhergehenden Code-Behind-Quelldatei entspricht.

<%@ Page Language="VB" CodeFile="pageexample.aspx.vb" Inherits="MyCodeBehindVB" %>

<html>
<head runat="server">
    <title>Page Class Example</title>
</head>
<body>
    <form runat="server">
    <div>
       <table>
          <tr>
            <td> Name: </td>
            <td> <asp:textbox id="MyTextBox" runat="server"/> </td>
          </tr>
          <tr>
             <td></td>
             <td><asp:button id="MyButton" text="Click Here" onclick="SubmitBtn_Click" runat="server"/></td>
          </tr>
          <tr>
             <td></td>
             <td><span id="MySpan" runat="server" /></td>
          </tr>
       </table>         

    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" CodeFile="pageexample.aspx.cs" Inherits="MyCodeBehindCS" %>

<html>
<head runat="server">
    <title>Page Class Example</title>
</head>
<body>
    <form runat="server">
    <div>
       <table>
          <tr>
            <td> Name: </td>
            <td> <asp:textbox id="MyTextBox" runat="server"/> </td>
          </tr>
          <tr>
             <td></td>
             <td><asp:button id="MyButton" text="Click Here" onclick="SubmitBtn_Click" runat="server"/></td>
          </tr>
          <tr>
             <td></td>
             <td><span id="MySpan" runat="server" /></td>
          </tr>
       </table>     

    </div>
    </form>
</body>
</html>

Zum Verknüpfen der Code-Behind-Datei mit der ASPX-Datei müssen Sie die @ Page-Direktive sowie das Inherits-Attribut und CodeFile-Attribut verwenden. In diesem Beispiel gibt das Inherits-Attribut die MyCodeBehind-Klasse und das CodeFile-Attribut den Pfad der sprachspezifischen Datei an, die die Klasse enthält.

Im folgenden Codebeispiel werden das Einzeldateiseitenmodell und der Zugriff auf die IsPostBack-Eigenschaft und Response-Eigenschaft von Page veranschaulicht.

<%@ Page Language="VB" %>

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim sb As New StringBuilder()
    
    If (Page.IsPostBack) Then
      
      sb.Append("You posted back to the page.<br>")
    
    End If
    
    sb.Append("The host address is " + Page.Request.UserHostAddress + ".<br>")
    sb.Append("The page title is """ + Page.Header.Title + """.")
    
    PageMessage.Text = sb.ToString()
    
  End Sub
  
</script>

<html>
<head runat="server">
    <title>Page Class Example</title>
</head>
<body>
    <form id="form1" 
          runat="server">
    <div>
    <asp:Label id="PageMessage" 
               runat="server"/>
    <br /> <br />
    <asp:Button id="PageButton"
                Text="PostBack"
                runat="server" />    
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    StringBuilder sb = new StringBuilder();
    
    if (Page.IsPostBack)
      sb.Append("You posted back to the page.<br>");

    sb.Append("The host address is " + Page.Request.UserHostAddress + ".<br>");
    sb.Append("The page title is \"" + Page.Header.Title + "\".");

    PageMessage.Text = sb.ToString();

  }
</script>

<html>
<head runat="server">
    <title>Page Class Example</title>
</head>
<body>
    <form id="form1" 
          runat="server">
    <div>
    <asp:Label id="PageMessage" 
               runat="server"/>
    <br /> <br />
    <asp:Button id="PageButton"
                Text="PostBack"
                runat="server" />
    </div>
    </form>
</body>
</html>

.NET Framework-Sicherheit

Vererbungshierarchie

System.Object
   System.Web.UI.Control
     System.Web.UI.TemplateControl
      System.Web.UI.Page
         System.Web.UI.MobileControls.MobilePage

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Page-Member
System.Web.UI-Namespace
Control-Klasse

Weitere Ressourcen

Übersicht über die ASP.NET-Seitenklasse
Codemodell für ASP.NET-Webseiten
Neues im ASP.NET-Webseitenmodell