INFO: Überblick über das CodeBehind-Modell von ASP.NET

Dieser Artikel wurde zuvor veröffentlicht unter D303247
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
303247 INFO: ASP.NET Code-Behind Model Overview
Zusammenfassung
Dieser Artikel beschreibt im Überblick das CodeBehind-Modell, das in ASP.NET eingeführt wurde.
Weitere Informationen
ASP.NET unterstützt zwei Verfahren für das Verfassen von Seiten:
  • Inline-Code
  • Hinterlegter Code (CodeBehind)

Inline-Code

Inline-Code ist der Code, der direkt in die ASP.NET-Seite eingebettet ist. Im Folgenden finden Sie eine ASP.NET-Beispielseite, die Inline-Code enthält:

Myinlinecode.aspx
<%@ Language=C# %><HTML>   <script runat="server" language="C#">   void MyButton_OnClick(Object sender, EventArgs e)   {      MyLabel.Text = MyTextbox.Text.ToString();   }   </script>   <body>      <form id="MyForm" runat="server">         <asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>         <asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>         <asp:label id="MyLabel" runat="server"></asp:label>      </form>   </body></HTML>

CodeBehind

Der hinterlegte Code ist der Code für Ihre ASP.NET-Seite, der in einer separaten Klassendatei enthalten ist. Dies erlaubt eine saubere Trennung des HTML-Codes (Hypertext Markup Language, HTML) vom logischen Code Ihrer Präsentation. Das folgende Beispiel zeigt eine ASP.NET-CodeBehind-Seite:

MyCodebehind.aspx
<%@ Language="C#" Inherits="MyStuff.MyClass" %><HTML>    <body>        <form id="MyForm" runat="server">        <asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox>        <asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button>        <asp:label id="MyLabel" runat="server" />        </form>    </body></HTML>
Mycodebehind.cs
using System;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace MyStuff{    public class MyClass : Page    {        protected System.Web.UI.WebControls.Label MyLabel;        protected System.Web.UI.WebControls.Button MyButton;        protected System.Web.UI.WebControls.TextBox MyTextBox;        public void MyButton_Click(Object sender, EventArgs e)        {            MyLabel.Text = MyTextBox.Text.ToString();        }    }}
Sie können die folgende Syntax zum Kompilieren von Mycodebehind.cs im voranstehenden Beispiel verwenden:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
Beachten Sie, dass die CodeBehind-Seite von der Seitenklasse erbt, die sich im Namespace System.Web.UI befindet:
public class MyClass : Page
Die Vererbung von der Seitenklasse ermöglicht der CodeBehind-Seite den Zugriff auf immanente ASP.NET-Objekte, wie beispielsweise die Objekte Request und Response. Darüber hinaus wird durch die Vererbung der Seitenklasse eine Umgebung für die Ereignisbehandlung für Steuerelemente auf der ASP.NET-Seite bereitgestellt.

Im voranstehenden Beispiel wird die CodeBehind-Seite kompiliert, bevor ASP.NET ausgeführt wird. Alternativ dazu können Sie wie folgt mit einem SRC-Tag auf die CodeBehind-Klasse verweisen:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
In diesem Fall kompiliert ASP.NET die CodeBehind-Seite "on-the-fly", d.h. ohne andere Programme und Anwendungen zu unterbrechen. Beachten Sie, dass dieser Kompilierungsschritt nur bei Aktualisierung der CodeBehind-Datei ausgeführt wird (dies wird durch eine Änderung des Zeitstempels festgestellt).

CodeBehind-Unterstützung in Visual Studio .NET

Wenn Sie ASP.NET-Webformularen mithilfe von Microsoft Visual Studio .NET erstellen, stellen CodeBehind-Seiten das Standardverfahren dar. Die Vorkompilierung wird automatisch für Sie ausgeführt. Beachten Sie, dass in Visual Studio .NET erstellte CodeBehind-Seiten das spezielle Seitenattribut Codebehind enthalten, das von Visual Studio .NET verwendet wird.

Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
codebehind
Eigenschaften

Artikelnummer: 303247 – Letzte Überarbeitung: 01/10/2002 13:10:00 – Revision: 1.0

Microsoft ASP .NET (Bestandteil des .NET-Framework)

  • kbgrpdsasp kbinfo kbwebforms KB303247
Feedback