Ho programmato sia in ASP classico che ASP.NET e vedo diversi tag all'interno del markup per il codice lato server.
Di recente ho trovato un buon blog su MSDN che supera la differenza tra:
<%=
(percentuale insieme al segno di uguale) e<%#
(segno di percentuale e hash / pound / octothorpe)
( <%#
viene valutato solo su databind e <%=
viene valutato su render), ma vedo anche:
<%$
(percentuale e segno del dollaro) e<%@
(segno di percentuale e simbolo).
Credo che <%@
carichi cose come assembly e forse <%$
carichi cose da file di configurazione? Non sono troppo sicuro
Mi stavo solo chiedendo se qualcuno potesse chiarire tutto questo per me e forse spiegare perché è importante creare così tanti tag diversi che apparentemente hanno uno scopo simile?
<%#
viene spesso utilizzato con eval
, ma non è necessario: è possibile utilizzarlo per eseguire qualsiasi codice lato server, a condizione che venga eseguito Page.DataBind()
sulla pagina contenente o sulla relativa pagina principale. Sembra che questa sia l'unica opzione nel caso in cui si desideri "iniettare" il codice lato server negli attributi dei controlli lato server come <asp:TextBox
, <asp:LinkButton
o anche a <input runat="server">
.
"<%=" "<%:""<%@" "<%#"
e mi ha mandato qui.