Udostępnij za pośrednictwem


ASP.NET wyrażeń wbudowanych w programie .NET Framework

Ten artykuł zawiera wprowadzenie do następujących wyrażeń wbudowanych ASP.NET:

  • <% ... %>
  • <%= ... %>
  • <%@ ... %>
  • <%# ... %>
  • <%$ ... %>
  • <%-- ... --%>

Oryginalna wersja produktu: .NET Framework
Oryginalny numer KB: 976112

<% ... %> osadzonych bloków kodu

Osadzony blok kodu służy do zachowania zgodności z poprzednimi wersjami za pomocą klasycznej platformy ASP. Kod w bloku może wykonywać instrukcje programowania i wywoływać funkcje w bieżącej klasie strony w fazie renderowania strony.

W poniższym przykładzie pokazano stronę ASP.NET zawierającą przykładowy kod microsoft Visual Basic .NET w osadzonym bloku kodu w celu wyświetlenia wyników pętli:

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

Ponieważ osadzony blok kodu jest zawsze mieszany ze źródłem języka Html (HyperText Markup Language), trudno jest deweloperom je odczytywać i obsługiwać.

Aby uzyskać więcej informacji na temat osadzonych bloków kodu na stronach sieci Web ASP.NET, odwiedź stronę Embedded Code Blocks in ASP.NET Web Forms Pages (Bloki kodu osadzonego na stronach ASP.NET Web Forms).

<%= ... %> wyświetlania wyrażenia

Wyrażenie <%= ... %> wyświetlające jest odpowiednikiem osadzonego bloku kodu, który zawiera tylko instrukcję Response.Write(...) . Najprostszym sposobem wyświetlania informacji, takich jak pojedynczy ciąg, zmienna int lub stała.

Na przykład następujący przykładowy kod wyświetla bieżący czas:

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

Pamiętaj, że wyrażenie wyświetlania nie może być używane w atrybutach kontrolek serwera. Jest to spowodowane tym, że program .NET Framework bezpośrednio kompiluje całe wyrażenie zamiast wyświetlać zawartość jako wartość atrybutu.

Aby uzyskać więcej informacji na temat wyświetlania informacji z ASP.NET, odwiedź stronę Wyświetlanie z ASP.NET.

<%@ ... %> wyrażenia dyrektywy

Wyrażenie dyrektywy to składnia określająca ustawienia używane przez stronę i kompilatory sterowania użytkownikami podczas przetwarzania ASP.NET stron formularza internetowego (.aspx) i plików kontrolki użytkownika (ascx).

Struktura strony ASP.NET obsługuje następujące dyrektywy:

Dyrektywa opis
@ Page Definiuje atrybuty specyficzne dla strony, które są używane przez analizator strony ASP.NET i kompilator. Można dołączać tylko do plików .aspx.
Ta nazwa dyrektywy może być używana tylko na stronach formularza internetowego ASP.NET.
@ Control Definiuje atrybuty specyficzne dla kontrolki, które są używane przez analizator strony ASP.NET i kompilator. Można dołączać tylko do plików ascx (kontrolki użytkownika).
Nazwa dyrektywy może być używana tylko w plikach kontroli użytkownika.
@ Import Jawnie importuje przestrzeń nazw do strony lub do kontrolki użytkownika.
@ Implements Deklaratywnie wskazuje, że strona lub kontrolka użytkownika implementuje określony interfejs programu .NET Framework.
@ Register Kojarzy aliasy z przestrzeniami nazw i nazwami klas. Umożliwia to renderowanie kontrolek użytkownika i niestandardowych kontrolek serwera, gdy są one uwzględnione w żądanej stronie lub kontrolce użytkownika.
@ Assembly Łączy zestaw z bieżącą stroną podczas kompilacji. Udostępnia wszystkie klasy i interfejsy zestawu do użycia na stronie.
@ Master Identyfikuje ASP.NET stronę wzorcową.
@ WebHandler Identyfikuje stronę ASP.NET IHttpHandler.
@ PreviousPageType Zapewnia sposób uzyskiwania silnego pisania względem poprzedniej strony, do których uzyskuje się dostęp za pośrednictwem właściwości PreviousPage.
@ MasterType Przypisuje nazwę klasy do właściwości Master strony ASP.NET. Umożliwia utworzenie silnie typizowanego odwołania do strony wzorcowej ASP.NET.
@ OutputCache Deklaratywnie steruje zasadami buforowania danych wyjściowych strony lub kontrolki użytkownika.
@ Reference Deklaratywnie łączy stronę lub kontrolkę użytkownika z bieżącą stroną lub kontrolką użytkownika.

Aby uzyskać więcej informacji na temat składni dyrektywy, odwiedź stronę Składnia dyrektywy szablonu tekstu.

<%# ... %> wyrażenia powiązania danych

Wyrażenie powiązania danych tworzy powiązanie między właściwością kontrolki serwera a źródłem danych, gdy metoda DataBind kontrolki tego formantu jest wywoływana na stronie.

W poniższym przykładzie pokazano, jak za pomocą wyrażenia powiązania danych powiązać ciąg z funkcji z właściwością Text etykiety:

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

Aby uzyskać więcej informacji na temat składni wyrażenia powiązania danych, odwiedź stronę Składnia wyrażeń powiązania danych.

<%$ ... %> konstruktora wyrażeń

Konstruktor wyrażeń służy do ustawiania wartości właściwości kontrolki na podstawie informacji zawartych w konfiguracji aplikacji lub plikach zasobów. Poniższy przykład to podstawowa składnia konstruktora wyrażeń:
<%$ Expression Prefix: Expression Value %>

Znak dolara ($) wskazuje ASP.NET, że poniższe wyrażenie jest konstruktorem wyrażeń. Prefiks wyrażenia definiuje rodzaj wyrażenia, na przykład AppSettings, ConnectionStringslub Resources. Ponadto możesz utworzyć i zdefiniować własny konstruktor wyrażeń. Wartość wyrażenia, która jest zgodna z dwukropkiem (:) jest to, co ASP.NET faktycznie będzie używać jako wartości określonej właściwości.

W poniższym pokazie pokazano, jak za pomocą konstruktora wyrażeń uzyskać prawa autorskie do witryny sieci Web z AppSettings węzła w pliku Web.config oraz jak ustawić informacje o prawach autorskich jako wartość właściwości Text literału.

Węzeł AppSettings w pliku Web.config :

<appSettings>
    <add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/>
</appSettings>

Konstruktor wyrażeń na stronie formularza internetowego ASP.NET:

<div id="footer">
    <asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal>
</div>

Aby uzyskać więcej informacji na temat wyrażeń ASP.NET, odwiedź ASP.NET Expressions Overview (Omówienie wyrażeń ASP.NET).

<%-- ... -- %> bloku komentarzy po stronie serwera

Blok komentarzy po stronie serwera umożliwia deweloperom osadzanie komentarzy kodu w dowolnej lokalizacji źródła HTML ASP.NET stron formularza internetowego (z wyjątkiem bloków <script> kodu). Każda zawartość między tagami otwierania i zamykania bloku komentarzy po stronie serwera nie będzie przetwarzana na serwerze ani renderowana na wynikowej stronie.

W poniższym przykładzie kodu pokazano, jak używać bloku komentarzy po stronie serwera na stronie ASP.NET:

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

Aby uzyskać więcej informacji na temat komentarzy po stronie serwera, odwiedź stronę Komentarze po stronie serwera.