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.
asp.net
server-tags
Aaron
fuente
fuente
<%#
a menudo se usa coneval
, pero no tiene que hacerlo: puede usarlo para ejecutar cualquier código del lado del servidor, siempre que se ejecutePage.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í.Respuestas:
<% %>
- es para código en línea (especialmente flujo lógico)<%$ %>
- es para evaluar expresiones (como variables de recursos)<%@ %>
- es para directivas de página , registro de ensamblajes, importación de espacios de nombres, etc.<%= %>
- es una abreviatura deResponse.Write
(discutido aquí )<%# %>
- se usa para expresiones de enlace de datos .<%: %>
- es una abreviatura de Response.Write (Server.HTMLEncode ()) ASP.net 4.0+<%#: %>
- se utiliza para expresiones de enlace de datos y se convierte automáticamente en HTMLEncoded.<%-- --%>
- es para comentarios del lado del servidorfuente
Usted ha cubierto 2 de ellos (<% # se evalúa solo en databind y <% = se evalúa en render), y la respuesta para "
<%@
" es que se trata de directivas del compilador (es decir, cosas como lo que pondría en la línea de comando de un compilador).No sé sobre "
<%$
".fuente