He programado tanto en ASP clásico como en ASP.NET, y veo diferentes etiquetas dentro del marcado para el código del lado del servidor.
Recientemente me encontré con un buen blog en MSDN que analiza la diferencia entre:
<%=
(porcentaje junto con signo igual) y<%#
(signo de porcentaje y hash / libra / octothorpe)
( <%#
se evalúa solo en databind y <%=
se evalúa en render), pero también veo:
<%$
(porcentaje y signo de dólar) y<%@
(signo de porcentaje y en el símbolo).
¿Creo que <%@
carga cosas como ensamblajes y quizás <%$
carga cosas de archivos de configuración? No estoy muy seguro
Me preguntaba si alguien podría aclarar todo esto para mí y posiblemente explicar por qué es importante crear tantas etiquetas diferentes que aparentemente tienen un propósito similar.
<%#
a menudo se usa con eval
, pero no tiene que hacerlo: puede usarlo para ejecutar cualquier código del lado del servidor, siempre que se ejecute Page.DataBind()
en la página que lo contiene o en su página maestra. Parece que esta es su única opción en caso de que desee "inyectar" el código del lado del servidor en los atributos de los controles del lado del servidor como <asp:TextBox
, <asp:LinkButton
o incluso a <input runat="server">
.
"<%=" "<%:""<%@" "<%#"
y me envió aquí.