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:LinkButtonou mesmo a <input runat="server">.
"<%=" "<%:""<%@" "<%#"e me enviou aqui.