<% $, <% @, <% =, <% # … ¿cuál es el problema?

He progtwigdo en ASP clásico y ASP.NET, y veo diferentes tags dentro del marcado para el código del lado del servidor.

Recientemente me encontré con un buen blog en MSDN que repasa la diferencia entre:

  • <%= (porcentaje junto con el signo igual) y
  • <%# (signo de porcentaje y hash / pound / 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 desde archivos de configuración? No estoy muy seguro

Me preguntaba si alguien podría aclarar todo esto por mí y posiblemente explicar por qué es importante crear tantas tags diferentes que aparentemente tengan un propósito similar.

  • <% %> – 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 , registrar ensamblajes, importar espacios de nombres, etc.
  • <%= %> – es abreviado para Response.Write (discutido aquí )
  • <%# %> – se usa para expresiones de enlace de datos .
  • <%: %> – es abreviado para Response.Write (Server.HTMLEncode ()) ASP.net 4.0+
  • <%#: %> – se usa para expresiones de enlace de datos y se HTMLEncoded automáticamente.
  • <%-- --%> – es para comentarios del lado del servidor

Cubrió 2 de ellos (<% # se evalúa solo en databind, y <% = se evalúa en el procesamiento), y la respuesta para " <%@ ” es que son directivas del comstackdor (es decir, cosas como lo que usted ‘ d poner en línea de comando del comstackdor).

No sé sobre ” <%$ ".