Pergunta

Eu tenho usado o ASP.NET por anos, mas eu nunca consigo lembrar quando usando o # e = são adequadas.

Por exemplo:

<%= Grid.ClientID %>

ou

<%# Eval("FullName")%>

Alguém pode explicar quando cada um deve ser usado para que eu possa mantê-lo em linha reta em minha mente? É # utilizado de controles que suporte ligação de dados?

Foi útil?

Solução

<% =%> é o equivalente de fazer Response.Write ( "") onde quer que você colocá-lo.

<% #%> é para ligação de dados e só pode ser usado quando a ligação de dados é suportado (você pode usá-los no nível de página fora de um controle se você chamar Page.DataBind () no seu codebehind)

Databinding Expressões Overview

Outras dicas

Há um par de diferentes 'Abelha-picadas':

  • <%@ - Página directiva
  • <%$ - acesso a recursos
  • <%= - saída explícita a página
  • <%# - ligação de dados
  • <%-- - servidor comentário lado bloco

Outra novidade em ASP.Net 4:

  • <%: - escreve para a página, mas com HTML codificado

Outra novidade no ASP.Net 4.5:

  • <%#: - HTML codificado ligação de dados

Aqui está uma grande blog post por Dan Crevier que anda através de um aplicativo de teste, ele escreveu para mostrar as diferenças.

Em essência:

  • As <% = expressões são avaliadas na hora de renderizar
  • A <# expressões% são avaliadas em DataBind () tempo e não são avaliados em tudo se DataBind () não é chamado.
  • <% # expressões podem ser usadas como propriedades em controles do lado do servidor. <% = Expressões não pode.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top