Pergunta

Posso obter um 'quando usar' para estes e outros?

<% %>
<%# EVAL() %>

Obrigado

Foi útil?

Solução

Confira a Referência de sintaxe de formulários da Web no MSDN.

Para o básico,

  • <% %> é usado para blocos de código puro.Eu geralmente só uso isso para instruções if


    <div class="autenticado">

    <div class="não autenticado">
  • é usado para adicionar texto à sua marcação;isto é, equivale a

    <div class='<%= IsLoggedIn ?"autenticado":"não autenticado" %>'>

  • <%# Expression %> é muito semelhante ao acima, mas é avaliado em um cenário DataBinding.Uma coisa que isso significa é que você pode usar essas expressões para definir valores de controles runat="server", o que não pode ser feito com a sintaxe <%= %>.Normalmente, isso é usado dentro de um modelo para um controle de ligação de dados, mas você também pode usá-lo em sua página e, em seguida, chamar Page.DataBind() (ou Control.DataBind()) para fazer com que esse código seja avaliado.

Os outros mencionados no artigo vinculado são menos comuns, embora certamente também tenham sua utilidade.

Outras dicas

Você também pode usar

<%= Class.Method() %>

E imprimirá o resultado, assim como você pode fazer em Ruby on Rails.

Só quero acrescentar, há também a expressão de recursos

<%$ Resources:resource, welcome%>

e o asp.net procuraria automaticamente a versão localizada de "bem-vindo" em montagens de satélite.

No ASP.NET 4.0, vem <%:%> sintaxe para escrever algo codificado em HTML.

<%: "<script>alert('Hello XSS')</script>" %>  

O acima pode ser usado em vez do amado.

<%= Html.Encode("<script>alert('Hello XSS')</script>")%>  
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top