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 dem klassischen ASP beizubehalten. Der Code im -Block kann während der Seitenrenderingphase Programmieranweisungen ausführen und Funktionen in der aktuellen Seitenklasse aufrufen.

Das folgende Beispiel zeigt eine ASP.NET Seite, die Beispielcode für Microsoft Visual Basic .NET 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, sie zu lesen und zu verwalten.

Weitere Informationen zu eingebetteten Codeblöcken in ASP.NET Webseiten finden Sie unter Eingebettete Codeblöcke in ASP.NET Web Forms Pages.

<%= ... %> der Anzeige eines Ausdrucks

Der <%= ... %> anzeigende Ausdruck ist eine Entsprechung des eingebetteten Codeblocks, der nur die Response.Write(...) -Anweisung enthält. Dies ist die einfachste Möglichkeit, Informationen wie eine einzelne Zeichenfolge, eine int-Variable oder eine Konstante anzuzeigen.

Im folgenden Beispielcode wird beispielsweise die aktuelle Uhrzeit angezeigt:

<%@ Page Language="VB" %>
<html>
    <body>
        <form id="form1" runat="server">
            <%=DateTime.Now.ToString() %>
        </form>
    </body>
</html>

Denken Sie daran, dass der anzeigende 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.

<%@ ... %> -Direktivenausdruck

Der Direktiveausdruck ist die Syntax, die Einstellungen angibt, die von der Seite und von Benutzersteuerelementcompilern verwendet werden, wenn sie ASP.NET Web Form-Seiten (.aspx) und Benutzersteuerelementdateien (ASCX) verarbeiten.

Das ASP.NET-Seitenframework unterstützt die folgenden Anweisungen:

Richtlinie Beschreibung
@ Page Definiert seitenspezifische Attribute, die vom ASP.NET Seitenparser und Compiler verwendet werden. Kann nur in .aspx-Dateien eingeschlossen werden.
Dieser Direktivename kann nur in ASP.NET Web Form-Seiten verwendet werden.
@ Control Definiert steuerelementspezifische Attribute, die vom ASP.NET Seitenparser und Compiler verwendet werden. Kann nur in ASCX-Dateien (Benutzersteuerelemente) eingeschlossen werden.
Der Direktivename kann nur in Benutzersteuerungsdateien verwendet werden.
@ Import Importiert einen Namespace explizit in eine Seite oder in ein Benutzersteuerelement.
@ Implements Gibt deklarativ 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 angeforderten Benutzersteuerelement enthalten sind.
@ Assembly Verknüpft eine Assembly während der Kompilierung mit der aktuellen Seite. Dadurch werden alle Klassen und Schnittstellen der Assembly zur Verwendung auf der Seite verfügbar.
@ Master Identifiziert eine ASP.NET master Seite.
@ WebHandler Identifiziert eine ASP.NET Seite "IHttpHandler".
@ PreviousPageType Bietet eine Möglichkeit, starke Eingaben für die vorherige Seite zu erhalten, wie ü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 seite ASP.NET master zu erstellen.
@ OutputCache Steuert deklarativ die Ausgabezwischenspeicherungsrichtlinien einer Seite oder eines Benutzersteuerelements.
@ Reference Verknüpft eine Seite oder ein Benutzersteuerelement deklarativ mit der aktuellen Seite oder dem aktuellen Benutzersteuerelement.

Weitere Informationen zur Direktivensyntax finden Sie unter Textvorlagendirektivesyntax.

<%# ... %> 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 der Datenbindungsausdruck verwendet wird, um die Zeichenfolge aus einer Funktion an die Text-Eigenschaft einer Bezeichnung 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 Datenbindungsausdruckssyntax finden Sie unter Datenbindungsausdruckssyntax.

<%$ ... %> 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 (:) wird ASP.NET tatsächlich als Wert einer bestimmten Eigenschaft verwenden.

Die folgende Demo zeigt, wie Sie den Ausdrucks-Generator verwenden, um das Copyright einer Website vom AppSettings Knoten in der Web.config-Datei abzurufen und wie Sie die Copyrightinformationen als Wert der Text-Eigenschaft 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 Seite ASP.NET Web Form:

<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 übersicht über ASP.NET Ausdrücke.

<%-- ... -- %> serverseitiger Kommentarblock

Mit dem serverseitigen Kommentarblock können Entwickler Codekommentare an einer beliebigen Stelle der HTML-Quelle ASP.NET Web Form-Seiten einbetten (außer innerhalb von <script> Codeblöcken). Inhalte zwischen den öffnenden und schließenden Tags des serverseitigen Kommentarblocks werden nicht auf dem Server verarbeitet oder auf der resultierenden Seite gerendert.

Im folgenden Codebeispiel wird die Verwendung des serverseitigen Kommentarblocks auf einer ASP.NET Seite veranschaulicht:

<%@ 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.