Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält eine kurze Übersicht über das Codebehind-Modell in ASP.NET.
Ursprüngliche Produktversion: ASP.NET
Ursprüngliche KB-Nummer: 303247
Zusammenfassung
Dieser Artikel bezieht sich auf den Namespace der Microsoft .NET Framework-Klassenbibliothek System.Web.UI
.
ASP.NET unterstützt zwei Methoden zum Erstellen von Seiten:
- In-Line-Code
- CodeBehind
In-Line-Code
Inlinecode ist Code, der direkt in die ASP.NET Seite eingebettet ist. Der folgende Code stellt ein Beispiel ASP.NET Seite dar, die In-Line-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
CodeBehind bezieht sich auf Code für Ihre ASP.NET Seite, die in einer separaten Klassendatei enthalten ist. Dies ermöglicht eine klare Trennung des HTML-Codes von Ihrer Präsentationslogik. Das folgende Beispiel veranschaulicht 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(); } } }
Im vorherigen Beispiel können Sie die folgende Syntax verwenden, um Mycodebehind.cs zu kompilieren:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
Wenn Sie den folgenden Code verwenden, erbt die CodeBehind-Seite von der Page-Klasse. Die Page-Klasse befindet sich in der System.Web.UI namespace
:
public class MyClass : Page
Durch Das Erben von der Page
Klasse erhält die CodeBehind-Seite Zugriff auf die ASP.NET systeminternen Objekte, z Request
. B. und Response
. Darüber hinaus bietet das Erben von der Page
Klasse ein Framework zum Behandeln von Ereignissen für Steuerelemente innerhalb der ASP.NET Seite.
Im vorherigen Beispiel wird die CodeBehind-Seite kompiliert, bevor ASP.NET ausgeführt wird. Alternativ können Sie mithilfe eines SRC
Tags wie folgt auf die CodeBehind-Klasse verweisen:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
In diesem Fall kompiliert ASP.NET die CodeBehind-Seite unterwegs. Dieser Kompilierungsschritt tritt nur auf, wenn die CodeBehind-Datei aktualisiert wird (die durch eine Zeitstempeländerung erkannt wird).
CodeBehind-Unterstützung in Visual Studio .NET
Wenn Sie Visual Studio .NET zum Erstellen ASP.NET Web Forms verwenden, sind CodeBehind-Seiten die Standardmethode. Darüber hinaus führt Visual Studio .NET beim Erstellen der Lösung automatisch eine Vorabkompilierung für Sie durch.
Notiz
CodeBehind-Seiten, die in Visual Studio .NET erstellt werden, enthalten ein spezielles page
Attribut, Code-behind
das visual Studio .NET verwendet.