Delen via


ASP.NET inline-expressies in .NET Framework

Dit artikel bevat een inleiding tot de volgende ASP.NET inline-expressies:

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

Oorspronkelijke productversie: .NET Framework
Oorspronkelijk KB-nummer: 976112

<% ... %> ingesloten codeblokken

Het ingesloten codeblok wordt gebruikt om achterwaartse compatibiliteit met klassieke ASP te behouden. De code in het blok kan programmeerinstructies uitvoeren en functies aanroepen in de huidige paginaklasse tijdens de paginarenderingsfase.

In het volgende voorbeeld ziet u een ASP.NET pagina met voorbeeldcode van Microsoft Visual Basic .NET in een ingesloten codeblok om de resultaten van een lus weer te geven:

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

Omdat een ingesloten codeblok altijd wordt gecombineerd met de HTML-bron (HyperText Markup Language), is het moeilijk voor ontwikkelaars om ze te lezen en te onderhouden.

Ga naar Ingesloten codeblokken in ASP.NET webpagina's voor meer informatie over ingesloten codeblokken in ASP.NET webpagina's.

<%= ... %> weergave-expressie

De <%= ... %> weergave-expressie is een equivalent van het ingesloten codeblok dat alleen de Response.Write(...) instructie bevat. Het is de eenvoudigste manier om informatie weer te geven, zoals één tekenreeks, een intvariabele of een constante.

Met de volgende voorbeeldcode wordt bijvoorbeeld de huidige tijd weergegeven:

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

Houd er rekening mee dat de weergave-expressie niet kan worden gebruikt in de kenmerken van serverbesturingselementen. Dit komt doordat .NET Framework de hele expressie rechtstreeks compileert in plaats van de weergegeven inhoud als de waarde voor het kenmerk.

Ga naar Weergeven vanuit ASP.NET voor meer informatie over het weergeven van informatie uit ASP.NET.

<Expressie %@ ... %> instructie

De instructieexpressie is de syntaxis waarmee instellingen worden opgegeven die worden gebruikt door de pagina en door compilers voor gebruikersbeheer wanneer ze ASP.NET webformulierpagina's (.aspx) en gebruikersbesturingselementbestanden (.ascx) verwerken.

Het ASP.NET paginaframework ondersteunt de volgende richtlijnen:

Richtlijn Beschrijving
@ Page Definieert paginaspecifieke kenmerken die worden gebruikt door de ASP.NET paginaparser en compiler. Kan alleen worden opgenomen in .aspx bestanden.
Deze instructienaam kan alleen worden gebruikt in ASP.NET webpagina's.
@ Control Definieert besturingsspecifieke kenmerken die worden gebruikt door de ASP.NET paginaparser en compiler. Kan alleen worden opgenomen in .ascx-bestanden (gebruikersbesturingselementen).
De instructienaam kan alleen worden gebruikt in gebruikersbeheerbestanden.
@ Import Importeert expliciet een naamruimte in een pagina of in een gebruikersbeheer.
@ Implements Declaratief geeft aan dat een pagina of een gebruikersbeheer een opgegeven .NET Framework-interface implementeert.
@ Register Koppelt aliassen aan naamruimten en aan klassenamen. Hiermee kunnen gebruikersbesturingselementen en aangepaste serverbesturingselementen worden weergegeven wanneer ze zijn opgenomen in een aangevraagde pagina of gebruikersbesturingselement.
@ Assembly Hiermee koppelt u een assembly aan de huidige pagina tijdens de compilatie. Hiermee worden alle klassen en interfaces van de assembly beschikbaar voor gebruik op de pagina.
@ Master Identificeert een ASP.NET basispagina.
@ WebHandler Identificeert een ASP.NET IHttpHandler-pagina.
@ PreviousPageType Biedt een manier om sterk te typen op de vorige pagina, zoals toegankelijk via de eigenschap PreviousPage.
@ MasterType Hiermee wijst u een klassenaam toe aan de hoofdeigenschap van een ASP.NET pagina. Biedt een manier om een sterk getypte verwijzing naar de ASP.NET basispagina te maken.
@ OutputCache Declaratief bepaalt u het beleid voor uitvoercaching van een pagina of van een gebruikersbesturingselement.
@ Reference Declaratief koppelt een pagina of gebruikersbeheer aan de huidige pagina of het gebruikersbeheer.

Ga voor meer informatie over de syntaxis van de richtlijn tekstsjabloon naar syntaxis van de tekstsjabloon.

<%# ... %> expressie voor gegevensbinding

De expressie voor gegevensbinding maakt een binding tussen een serverbesturingselementeigenschap en een gegevensbron wanneer de DataBind-methode van dit serverbesturingselement van het besturingselement wordt aangeroepen op de pagina.

In het volgende voorbeeld ziet u hoe u de expressie voor gegevensbinding gebruikt om de tekenreeks van een functie te binden aan de eigenschap Tekst van een label:

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

Ga naar de syntaxis van de expressie voor gegevensbinding voor meer informatie over de syntaxis van de expressie voor gegevensbinding.

<Opbouwfunctie voor %$ ... %> expressies

De opbouwfunctie voor expressies wordt gebruikt om waarden van besturingseigenschappen in te stellen op basis van de informatie die is opgenomen in de configuratie- of resourcebestanden van een toepassing. Het volgende voorbeeld is de basissyntaxis van de opbouwfunctie voor expressies:
<%$ Expression Prefix: Expression Value %>

Het dollarteken ($) geeft aan ASP.NET dat de volgende expressie een opbouwfunctie voor expressies is. Het expressievoorvoegsel definieert het type expressie, zoals AppSettings, ConnectionStringsof Resources. Daarnaast kunt u uw eigen opbouwfunctie voor expressies maken en definiëren. De expressiewaarde die volgt op de dubbele punt (:) is wat ASP.NET daadwerkelijk gebruikt als de waarde van een bepaalde eigenschap.

In de volgende demo ziet u hoe u de opbouwfunctie voor expressies gebruikt om het auteursrecht van een website te verkrijgen van het knooppunt in het AppSettingsweb.config-bestand en hoe u de copyrightgegevens instelt als de waarde van de eigenschap Tekst van letterlijke tekst.

Het AppSettings knooppunt in web.config-bestand :

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

De opbouwfunctie voor expressies op de pagina ASP.NET webformulier:

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

Ga naar ASP.NET Overzicht van expressies voor meer informatie over ASP.NET expressies.

<Opmerkingenblok %-- ... -- %> aan serverzijde

Met het opmerkingenblok aan de serverzijde kunnen ontwikkelaars codeopmerkingen insluiten op elke locatie van de HTML-bron van ASP.NET webpagina's (met uitzondering van codeblokken <script> ). Inhoud tussen de openings- en afsluittags van het opmerkingenblok aan de serverzijde wordt niet verwerkt op de server of weergegeven op de resulterende pagina.

In het volgende codevoorbeeld ziet u hoe u het opmerkingenblok aan de serverzijde gebruikt op een ASP.NET pagina:

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

Ga naar Opmerkingen aan de serverzijde voor meer informatie over opmerkingen aan de serverzijde.