ASP.NET Inlineausdrücke im .NET Framework
Dieser Artikel enthält eine Einführung in die folgenden ASP.NET Inlineausdrücke:
- < % ... %>
- <%= ... %>
- <%@ ... %>
- <%# ... %>
- <%$ ... %>
- <%-- ... --%>
Ursprüngliche Produktversion: .NET Framework
Ursprüngliche KB-Nummer: 976112
< % ... %> eingebettete Codeblöcke
Der eingebettete Codeblock wird verwendet, um die Abwärtskompatibilität mit klassischem ASP zu erhalten. Der Code im Block kann Während der Seitenrenderingphase Programmieranweisungen ausführen und Funktionen in der aktuellen Seitenklasse aufrufen.
Im folgenden Beispiel wird eine ASP.NET Seite veranschaulicht, die Beispiel für Microsoft Visual Basic .NET-Code in einem eingebetteten Codeblock enthält, um die Ergebnisse einer Schleife anzuzeigen:
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<% For i As Integer = 16 To 24 Step 2%>
<div style="font-size: <% Response.Write(i)%>">
Hello World<br />
</div>
<% Next%>
</form>
</body>
</html>
Da ein eingebetteter Codeblock immer mit der Html-Quelle (HyperText Markup Language) gemischt wird, ist es für Entwickler schwierig, diese zu lesen und zu verwalten.
Weitere Informationen zu eingebetteten Codeblöcken in ASP.NET Webseiten finden Sie unter Embedded Code Blocks in ASP.NET Web Forms Pages.
<%= ... %> Anzeigeausdruck
Der <%= ... %> angezeigte Ausdruck entspricht dem eingebetteten Codeblock, der nur die Response.Write(...) Anweisung enthält. Es ist die einfachste Möglichkeit, Informationen wie eine einzelne Zeichenfolge, eine Int-Variable oder eine Konstante anzuzeigen.
Der folgende Beispielcode zeigt beispielsweise die aktuelle Uhrzeit an:
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<%=DateTime.Now.ToString() %>
</form>
</body>
</html>
Denken Sie daran, dass der angezeigte Ausdruck nicht in den Attributen von Serversteuerelementen verwendet werden kann. Dies liegt daran, dass der .NET Framework den gesamten Ausdruck direkt kompiliert, anstatt den Inhalt als Wert für das Attribut anzuzeigen.
Weitere Informationen zum Anzeigen von Informationen aus ASP.NET finden Sie unter Anzeigen von ASP.NET.
<%@ ... %> Direktiveausdruck
Der Direktivenausdruck ist die Syntax, die Einstellungen angibt, die von der Seite und von Benutzersteuerelementcompilern verwendet werden, wenn sie ASP.NET Webformularseiten (ASPX) und Benutzersteuerelementdateien (ASCX) verarbeiten.
Das ASP.NET Seitenframework unterstützt die folgenden Direktiven:
| Richtlinie | Beschreibung |
|---|---|
@ Page |
Definiert seitenspezifische Attribute, die vom ASP.NET Seitenparser und Compiler verwendet werden. Kann nur in ASPX-Dateien enthalten sein. Dieser Direktivenname kann nur in ASP.NET Webformularseiten verwendet werden. |
@ Control |
Definiert steuerelementspezifische Attribute, die vom ASP.NET Seitenparser und Compiler verwendet werden. Kann nur in ASCX-Dateien (Benutzersteuerelementen) enthalten sein. Der Direktivenname kann nur in Benutzersteuerelementdateien verwendet werden. |
@ Import |
Importiert explizit einen Namespace in eine Seite oder in ein Benutzersteuerelement. |
@ Implements |
Deklarativ gibt an, dass eine Seite oder ein Benutzersteuerelement eine angegebene .NET Framework Schnittstelle implementiert. |
@ Register |
Ordnet Aliase Namespaces und Klassennamen zu. Dadurch können Benutzersteuerelemente und benutzerdefinierte Serversteuerelemente gerendert werden, wenn sie in einer angeforderten Seite oder einem Benutzersteuerelement enthalten sind. |
@ Assembly |
Verknüpft eine Assembly während der Kompilierung mit der aktuellen Seite. Dadurch werden alle Klassen und Schnittstellen der Assembly für die Verwendung auf der Seite verfügbar. |
@ Master |
Identifiziert eine ASP.NET Gestaltungsvorlage. |
@ WebHandler |
Identifies an ASP.NET IHttpHandler page. |
@ PreviousPageType |
Bietet eine Möglichkeit, starke Eingaben für die vorherige Seite zu erhalten, auf die über die PreviousPage-Eigenschaft zugegriffen wird. |
@ MasterType |
Weist der Master-Eigenschaft einer ASP.NET Seite einen Klassennamen zu. Bietet eine Möglichkeit, einen stark typisierten Verweis auf die ASP.NET Gestaltungsvorlage zu erstellen. |
@ OutputCache |
Steuert deklarativ die Ausgabezwischenspeicherungsrichtlinien einer Seite oder eines Benutzersteuerelements. |
@ Reference |
Deklarativ verknüpft eine Seite oder ein Benutzersteuerelement mit der aktuellen Seite oder dem aktuellen Benutzersteuerelement. |
Weitere Informationen zur Direktivensyntax finden Sie unter "Syntax der Textvorlagendirektive".
<%# ... %> Datenbindungsausdruck
Der Datenbindungsausdruck erstellt eine Bindung zwischen einer Serversteuerelementeigenschaft und einer Datenquelle, wenn die DataBind-Methode des Steuerelements dieses Serversteuerelements auf der Seite aufgerufen wird.
Das folgende Beispiel zeigt, wie Sie den Datenbindungsausdruck verwenden, um die Zeichenfolge von einer Funktion an die Text-Eigenschaft einer Beschriftung zu binden:
<%@ Page Language="VB" %>
<script runat="server">
Protected Function SayHello() As String
Return "Hello World"
End Function
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
lblHello.DataBind()
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<asp:Label ID="lblHello" runat="server" Text="<%# SayHello%>"></asp:Label>
</form>
</body>
</html>
Weitere Informationen zur Syntax von Datenbindungsausdrucken finden Sie unter Data-Binding Expression Syntax.
<%$ ... %> Ausdrucks-Generator
Der Ausdrucks-Generator wird verwendet, um Werte von Steuerelementeigenschaften basierend auf den Informationen festzulegen, die in den Konfigurations- oder Ressourcendateien einer Anwendung enthalten sind. Das folgende Beispiel ist die grundlegende Syntax des Ausdrucks-Generators:
<%$ Expression Prefix: Expression Value %>
Das Dollarzeichen ($) gibt ASP.NET an, dass der folgende Ausdruck ein Ausdrucks-Generator ist. Das Ausdruckspräfix definiert die Art des Ausdrucks, z AppSettings. B. , ConnectionStringsoder Resources. Darüber hinaus können Sie einen eigenen Ausdrucks-Generator erstellen und definieren. Der Ausdruckswert, der auf den Doppelpunkt folgt (:) verwendet ASP.NET tatsächlich als Wert einer bestimmten Eigenschaft.
Die folgende Demo zeigt, wie Sie den Ausdrucks-Generator verwenden, um das Copyright einer Website aus dem AppSettings Knoten in der Web.config-Datei zu erhalten, und wie Sie die Copyrightinformationen als Wert der Texteigenschaft des Literals festlegen.
Der AppSettings Knoten in Web.config Datei:
<appSettings>
<add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/>
</appSettings>
Der Ausdrucks-Generator auf der ASP.NET Webseite:
<div id="footer">
<asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal>
</div>
Weitere Informationen zu ASP.NET Ausdrücken finden Sie unter ASP.NET Expressions Overview.
<%-- ... -- %> serverseitiger Kommentarblock
Der serverseitige Kommentarblock ermöglicht Entwicklern das Einbetten von Codekommentaren an einer beliebigen Stelle der HTML-Quelle von ASP.NET Webformularseiten (außer in <script> Codeblöcken). Alle Inhalte zwischen den öffnenden und schließenden Tags des serverseitigen Kommentarblocks werden nicht auf dem Server verarbeitet oder auf der resultierenden Seite gerendert.
Das folgende Codebeispiel zeigt, wie sie den serverseitigen Kommentarblock auf einer ASP.NET Seite verwenden:
<%@ Page Language="VB" %>
<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim strName As String
strName = Session("userName")
lblUserName.Text = strName
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<%-- Label for UserName --%>
<asp:Label ID="lblUserName" runat="server" Text=""></asp:Label>
</form>
</body>
</html>
Weitere Informationen zu serverseitigen Kommentaren finden Sie unter "Serverseitige Kommentare".