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?
<%#
é frequentemente usado com eval
, mas não é necessário: você pode usá-lo para executar qualquer código do servidor, desde que seja executado Page.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.