CodeBehind

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche

Dieser Artikel ist nicht korrekt kategorisiert (siehe Regeln für GlossarWiki-Artikel).

In diesem Artikel fehlen die Quellenangaben.

1 Definition

Der Begriff "CodeBehind" taucht in erster Linie im Zusammenhang mit der Webseitenerstellung in ASP.NET auf und bezeichnet dabei ein Verfahren zur Trennung von Darstellungsregeln und Anwendungslogik.

2 Beschreibung

Im Gegensatz zum so genannten Inline-Code, bei dem sich Layoutelemente und Befehle vermischen, werden hier Programmbefehle in gesonderte Dateien ausgelagert. Die *.aspx-Datei enthält dann nur noch Verweise auf Instanzen von Klassen, die in den externen Dateien deklariert und definiert sind. Die gesamte Anwendungslogik wurde somit ausgelagert.

In ASP.NET werden die (Web-)Anwendungen zur Laufzeit vorkompiliert (wie es z.B. auch bei JSP der Fall ist), so dass das systemnahe Kompilat ausgeführt werden kann. Verglichen mit interpretierten Sprachen (z.B. PHP), stellt dies einen erheblichen Performance-Vorteil dar. Hinsichtlich des "CodeBehind"-Begriffs ist jedoch vor allem interessant, dass durch die Verwendung dieser Common Intermediate Language (CIL) (vgl. Bytecode), die Implementierungssprache frei wählbar wird und auf eine beliebige .NET-Sprache wie z.B. C#, VB.NET oder J# fallen kann.

Für C# wird die Programmlogik in Form von .NET-Klassen in *.cs-Dateien implementiert. Das Layout der eigentlichen Webseite wird zusammen mit Verweisen auf diese Klassen in einer *.aspx-Datei hinterlegt.

3 Beispiel

Das folgende vereinfachte Beispiel ist in Pseudocode formuliert und soll das Prinzip erläutern. Ein vollständiger analoger Code für C# findet sich in der Microsoft-Info 303247.

Beispiel.aspx

<%@ ... Inherits="MyClass" %>
<HTML>
    <body>
        <form id="MyForm" runat="server">
        	<asp:button id="MyButton" text="Test" Onclick="MyButton_Click" />
        </form>
    </body>
</HTML>

Beispiel.cs

public class MyClass : Page
{
	protected Button MyButton;
	public void MyButton_Click(Object sender, EventArgs e)
	{
		MyButton.Text = "Neuer Text";
	}
}

Im Browser steuert der Benutzer die Datei Beispiel.aspx an, die neben dem Basis-HTML auch auf die Klasse MyClass als Elternklasse der Dokumentseite verweist. Diese Klasse ist in der externen Datei Beispiel.cs definiert.


4 Siehe auch