Quando devo usar # e = em controles ASP.NET?
-
02-07-2019 - |
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?
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)
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.