ASP NET - Tags Asp de Servidor

O nome oficial é "delimitadores de script do lado do servidor" ou "expressões embutidas do ASP.NET". A caixa de diálogo de configurações de destaque da sintaxe do Visual Studio chama esses " scripts HTML do lado do servidor ". Os funcionários da Microsoft os chamam de "nuggets de código" em seus blogs.

<% %>

• Esta diretiva indica que o código ( no meio destas tags ) devem ser processadas pelo servidor durante a renderização da página e se houver alguma informação a ser exibida para o usuário ela será agregada ao HTML da página e estas diretivas podem mudar a maneira como o servidor deve controlar a página e os controles de servidor da mesma.
•  Usado para inclusão de código do lado do servidor que na renderização da página (no método Render()) (<% x = x + 1;%>) pode alterar a metodologia aplicada a página ou calcular/exibir um resultado. Formato: único/multilinha ou vinculado a múltiplos (por exemplo, se/então/então intercalado com html), mas não pode ser usado para declarar funções.

<%@ %>

•  É uma diretiva para incluir namespaces, instruções para a página(page directives).
• Usado nas páginas para controlar ou definir as configurações do compilador (<% @ Control Inherits = "MyParentControl"%>).
• Usado para especificar configurações específicas da página que são diferentes do aplicativo feito pela global.asax.

<%= %>

• Usado como atalho para <% Response.Write (value)%> e é muito útil para exibir informações server side.

<%: %>

• É o mesmo que <%=, mas a saída é codificada em HTML.

<%# %>

• É uma expressão que informa de ligação de dados.
• Usado para ligação unidirecional (somente leitura) ou bidirecional (atualizável) por meio de Eval, Xpath, Bind ou expressões (por exemplo, o valor selecionado de um controle suspenso).
• Vincula expressões a propriedades de controle ligadas a dados por meio da marcação de atributo do controle ou como uma marca separada que gera uma instância DataBoundLiteralControl com o valor em sua propriedade Text.
• Expressões são avaliadas por um manipulador de eventos DataBinding para o controle.

<%#: %>

• É uma expressão de ligação de dados codificada em HTML (nova no ASP.NET 4.5).
• Combina a funcionalidade de <%# %> e <%: %>.

<%$ %>

• É um construtor de expressões do ASP.NET.
• Usado para ligação de expressão de tempo de execução para propriedades de controle por meio dos atributos de tag do servidor.
• Usado com AppSettings, ConnectionStrings ou Resources (ou sua própria extensão personalizada, por exemplo, para usar propriedades code-behind).
• Essas atribuições são adicionadas ao método OnInit() da classe gerada.

<%-- %>

• É um comentário do lado do servidor.
• Usado para excluir o conteúdo da compilação (e, portanto, gerará erros se um controle comentado for mencionado no code-behind).
• Ao contrário dos comentários html, o conteúdo não será incluído na saída.

<!-#Include ... ->

• É uma diretiva de inclusão do servidor.
• Usado para inserir o conteúdo de um arquivo na página, controle ou arquivo global.
• Útil onde um controle de usuário é um exagero e uma página mestra não pode ser usada.

Há também um bloco de declaração de código, o formulário final do bloco de código incorporado.

<script runat="server">
    bool IsTrue () {
      retorna falso;
    }
</script>

Isso é usado para incluir membros adicionais (métodos etc.) na classe gerada a partir da marcação do ASP.NET. Eles só foram fornecidos "principalmente para preservar a compatibilidade com versões anteriores da tecnologia ASP" e não são recomendados para uso.