ASP.NET expressões embutidas no .NET Framework
Este artigo contém uma introdução às seguintes expressões embutidas ASP.NET:
- <% ... %>
- <%= ... %>
- <%@ ... %>
- <%# ... %>
- <%$ ... %>
- <%-- ... --%>
Versão original do produto: .NET Framework
Número de KB original: 976112
<% ... %> blocos de código inseridos
O bloco de código inserido é usado para preservar a compatibilidade com o ASP clássico. O código no bloco pode executar instruções de programação e funções de chamada na classe de página atual durante a fase de renderização de página.
O exemplo a seguir demonstra uma página ASP.NET que tem um exemplo de código .NET do Microsoft Visual Basic em um bloco de código inserido para exibir os resultados de um loop:
<%@ 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>
Como um bloco de código inserido é sempre misturado com a origem HTML (HyperText Markup Language), é difícil para os desenvolvedores lê-los e mantê-los.
Para obter mais informações sobre blocos de código inseridos em ASP.NET páginas da Web, visite Blocos de Código Inseridos em páginas ASP.NET Web Forms.
<%= ... %> exibindo expressão
A <%= ... %>
expressão de exibição é equivalente ao bloco de código inserido que contém apenas a Response.Write(...)
instrução. É a maneira mais simples de exibir informações como uma única cadeia de caracteres, uma variável int ou uma constante.
Por exemplo, o código de exemplo a seguir exibe a hora atual:
<%@ Page Language="VB" %>
<html>
<body>
<form id="form1" runat="server">
<%=DateTime.Now.ToString() %>
</form>
</body>
</html>
Lembre-se de que a expressão de exibição não pode ser usada nos atributos dos controles do servidor. Isso ocorre porque o .NET Framework compila diretamente toda a expressão em vez do conteúdo exibido como o valor do atributo.
Para obter mais informações sobre como exibir informações de ASP.NET, visite Exibindo de ASP.NET.
<%@ ... %> expressão de diretiva
A expressão de diretiva é a sintaxe que especifica as configurações usadas pela página e pelos compiladores de controle do usuário ao processar ASP.NET páginas do Web Form (.aspx) e arquivos de Controle de Usuário (.ascx).
A estrutura de página ASP.NET dá suporte às seguintes diretivas:
Directiva | Descrição |
---|---|
@ Page |
Define atributos específicos da página que são usados pelo analisador e compilador de páginas ASP.NET. Só pode ser incluído em arquivos .aspx. Esse nome de diretiva só pode ser usado em ASP.NET páginas do Formulário Web. |
@ Control |
Define atributos específicos do controle que são usados pelo analisador e compilador de páginas ASP.NET. Pode ser incluído apenas em arquivos .ascx (controles de usuário). O nome da diretiva só pode ser usado em arquivos de Controle de Usuário. |
@ Import |
Importa explicitamente um namespace para uma página ou para um controle de usuário. |
@ Implements |
Indica declarativamente que uma página ou um controle de usuário implementa uma interface de .NET Framework especificada. |
@ Register |
Associa aliases a namespaces e com nomes de classe. O que permite que controles de usuário e controles de servidor personalizados sejam renderizados quando eles são incluídos em uma página ou controle de usuário solicitado. |
@ Assembly |
Vincula um assembly à página atual durante a compilação. Ele disponibiliza todas as classes e interfaces do assembly para uso na página. |
@ Master |
Identifica uma página ASP.NET master. |
@ WebHandler |
Identifica uma página ASP.NET IHttpHandler. |
@ PreviousPageType |
Fornece uma maneira de obter uma digitação forte em relação à página anterior, conforme acessado por meio da propriedade PreviousPage. |
@ MasterType |
Atribui um nome de classe à propriedade Mestre de uma página ASP.NET. Fornece uma maneira de criar uma referência fortemente tipada para a página ASP.NET master. |
@ OutputCache |
Controla declarativamente as políticas de cache de saída de uma página ou de um controle de usuário. |
@ Reference |
Vincula declarativamente uma página ou controle de usuário à página atual ou controle de usuário. |
Para obter mais informações sobre a sintaxe de diretiva, visite Sintaxe de Diretiva de Modelo de Texto.
<%# ... %> expressão de associação de dados
A expressão de associação de dados cria associação entre uma propriedade de controle de servidor e uma fonte de dados quando o método DataBind do controle desse servidor é chamado na página.
O exemplo a seguir mostra como usar a expressão de associação de dados para associar a cadeia de caracteres de uma função à propriedade Text de um rótulo:
<%@ 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>
Para obter mais informações sobre a sintaxe de expressão de associação de dados, visite Sintaxe de expressão associação de dados.
<%$ ... %> construtor de expressão
O construtor de expressões é usado para definir valores de propriedades de controle com base nas informações contidas nos arquivos de recurso ou configuração de um aplicativo. O exemplo a seguir é a sintaxe básica do construtor de expressões:
<%$ Expression Prefix: Expression Value %>
O sinal de dólar ($) indica ASP.NET que a expressão a seguir é um construtor de expressões. O prefixo de expressão define o tipo de expressão, como AppSettings
, ConnectionStrings
ou Resources
. Além disso, você pode criar e definir seu próprio construtor de expressões. O valor de expressão que segue o cólon (:) é o que ASP.NET realmente usará como o valor de uma determinada propriedade.
A demonstração a seguir mostra como usar o construtor de expressões para obter os direitos autorais de um site do AppSettings
nó no arquivo Web.config e como definir as informações de direitos autorais como o valor da propriedade Text do Literal.
O AppSettings
nó no arquivo Web.config :
<appSettings>
<add key="copyright" value="(c) Copyright 2009 WebSiteName.com"/>
</appSettings>
O construtor de expressões na página ASP.NET Web Form:
<div id="footer">
<asp:Literal ID="Literal1" runat="server" Text="<%$ AppSettings: copyright %>"></asp:Literal>
</div>
Para obter mais informações sobre expressões de ASP.NET, visite ASP.NET Visão geral de expressões.
<Bloco de comentários %-- ... -- %> do lado do servidor
O bloco de comentários do lado do servidor permite que os desenvolvedores insiram comentários de código em qualquer local da fonte HTML de ASP.NET páginas do Formulário Web (exceto em <script>
blocos de código). Qualquer conteúdo entre as marcas de abertura e fechamento do bloco de comentários do lado do servidor não será processado no servidor ou renderizado na página resultante.
O exemplo de código a seguir mostra como usar o bloco de comentários do lado do servidor em uma página 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>
Para obter mais informações sobre comentários do lado do servidor, visite Comentários do Lado do Servidor.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários