Programei no ASP clássico e no ASP.NET e vejo marcas diferentes dentro da marcação para código do lado do servidor.
Recentemente, deparei com um bom blog no MSDN que aborda a diferença entre:
<%=
(porcentagem junto com o sinal de igual) e<%#
(sinal de porcentagem e hash / libra / octóforo)
( <%#
é avaliado apenas no databind e <%=
no render), mas também vejo:
<%$
(porcentagem e cifrão) e<%@
(sinal de porcentagem e no símbolo).
Eu acredito que <%@
carrega coisas como assemblies e talvez <%$
carrega coisas de arquivos de configuração? Eu não tenho tanta certeza.
Eu estava pensando se alguém poderia esclarecer tudo isso para mim e possivelmente explicar por que é importante criar tantas tags diferentes que aparentemente têm um objetivo semelhante?
asp.net
server-tags
Aaron
fonte
fonte
<%#
é frequentemente usado comeval
, mas não é necessário: você pode usá-lo para executar qualquer código do servidor, desde que seja executadoPage.DataBind()
na página que contém ou em sua página mestre. Parece que esta é sua única opção, caso você queira "injetar" o código do lado do servidor em atributos de controles do lado do servidor, como<asp:TextBox
,<asp:LinkButton
ou mesmo a<input runat="server">
."<%=" "<%:""<%@" "<%#"
e me enviou aqui.Respostas:
<% %>
- é para código embutido (especialmente fluxo lógico)<%$ %>
- é para avaliar expressões (como variáveis de recurso)<%@ %>
- é para diretivas de página , registrando assemblies, importando namespaces etc.<%= %>
- é uma abreviação deResponse.Write
(discutido aqui )<%# %>
- é usado para expressões de ligação de dados .<%: %>
- é uma abreviação de Response.Write (Server.HTMLEncode ()) ASP.net 4.0+<%#: %>
- é usado para expressões de ligação de dados e é automaticamente codificado em HTMLEn.<%-- --%>
- é para comentários do lado do servidorfonte
Você cobriu 2 deles (<% # é avaliado apenas no databind e <% = é avaliado no render), e a resposta para "
<%@
" é que são diretrizes do compilador (por exemplo, coisas como o que você colocaria) linha de comando de um compilador).Eu não sei sobre "
<%$
".fonte