2009-06-05 30 views
186

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

recientemente he encontrado con un good blog on MSDN que va sobre la diferencia entre:

  • <%= (porcentaje junto con signo igual) y
  • <%# (signo de porcentaje y de hash/libra/octothorpe)

(<%# se evalúa solamente en databind y <%= se evalúa en rinden), pero también veo:

  • <%$ (por ciento y el signo de dólar) y
  • <%@ (signo de porcentaje y al símbolo).

Creo que <%@ carga elementos 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 etiquetas diferentes que aparentemente tienen un propósito similar.

+62

Me alegro de que pregunte, porque es muy difícil de google;) –

+8

Imposible de Google! – jdbosley

+0

'<% #' a menudo se usa con 'eval', pero no tiene que ser así: puede usarlo para ejecutar cualquier código del lado del servidor, siempre que ejecute' Page.DataBind() 'en la página que lo contiene o página principal.Parece que esta es su única opción en caso de que quiera "inyectar" código del lado del servidor en los atributos de los controles del lado del servidor como ''. –

Respuesta

263
+0

Supongo que es porque es una respuesta aceptada, pero tratar de editar/w el enlace no funcionó. aquí está el enlace que traté de poner sobre la evaluación de la expresión "<% $": http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx –

+0

¡Impresionante! Sé que esto es viejo, pero he estado buscando en Internet esta información los últimos 2 días. ¡Gracias! – jdbosley

+5

¿Hay un nombre para todos estos? ¿Cómo se llaman estos como grupo? – Vippy

4

que ha cubierto 2 de ellos (<% # sólo se evalúa en databind y <% = se evalúa en rinden), y la respuesta de "<%@" es que es directivas del compilador (es decir., Cosas como lo pondrías en la línea de comando de un compilador).

No sé "<%$".