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".