tutorial tag net for asp asp.net syntax tags

asp.net - tag - for en asp net



Etiquetas "especiales" de ASP.NET (5)

¿Cuál es el nombre oficial de las etiquetas ASP.NET "especiales" como esta:

<%# %> <%= %> <%@ %> <%$ %>

Parece que no puedo averiguar el nombre conceptual o conocido de estos, así que tengo problemas para buscar más información. Como beneficio adicional, ¿alguien puede darme un resumen rápido de todas las posibles "etiquetas especiales" y lo que cada una de ellas hace (o me señala a un recurso)?


El nombre oficial es " delimitadores de secuencias de comandos del lado del servidor " o " expresiones en línea ASP.NET ". El cuadro de diálogo de configuración de resaltado de sintaxis de Visual Studio 2008 llama a estos "Script HTML del lado del servidor". Los chicos de Microsoft los llaman "nuggets de código" en sus blogs.

  • <%@ %> es una directiva para páginas web ASP.NET . Se usa para que las páginas y los controles configuren la configuración del compilador de la página / control ( <%@ Control Inherits="MyParentControl" %> ).
    • <%@ %> Es también una Directiva de aplicación . Se utiliza para especificar la configuración específica de la aplicación para global.asax. Distinto de las directivas de página, ya que solo utiliza un conjunto de etiquetas diferente.
  • <% %> es un Bloque de procesamiento de código (para código en línea) . Una de las formas de 4 bloques de código embebido . Se utiliza para incluir el código del lado del servidor en el método Render() ( <% x = x + 1; %> ) de la clase generada. Formato: único / multilínea o de enlace múltiple (por ejemplo, if/then/else entremezcla con html) pero no se puede usar para declarar funciones.
  • <%= %> es un Bloque de procesamiento de código (para expresiones en línea) . Se utiliza como una abreviatura para <%Response.Write(value)%>
  • <%: %> (no oficialmente un " Bloque de código de codificación Html ") es el mismo que el anterior, pero la salida está codificada en HTML.
  • <%# %> es una expresión de enlace de datos . Se utiliza para el enlace unidireccional (solo lectura) o bidireccional (actualizable) a través de Eval , Xpath , Bind o expresiones (por ejemplo, el valor seleccionado de un control desplegable). Enlaza las expresiones a las propiedades de control enlazadas a datos mediante el marcado de atributo del control, o como una etiqueta separada que genera una instancia de DataBoundLiteralControl con el valor en su propiedad Text . Las expresiones son evaluadas por un controlador de eventos DataBinding para el control.
  • <%#: %> es una expresión de enlace de datos codificada en HTML (nuevo en ASP.NET 4.5). Combina la funcionalidad de <%# %> y <%: %> .
  • <%$ %> es un generador de expresiones ASP.NET . Se utiliza para el enlace de la expresión en tiempo de ejecución para las propiedades de control a través de los atributos de etiqueta del servidor. Se usa con AppSettings , ConnectionStrings o Resources (o su propia extensión personalizada , por ejemplo, para usar las propiedades de código subyacente). Estas asignaciones se agregan al método OnInit() de la clase generada.
  • <%-- --%> es un comentario del lado del servidor . Se utiliza para excluir los contenidos de la compilación (y por lo tanto generará errores si se hace referencia a un control comentado en el código subyacente). A diferencia de los comentarios html, el contenido no se incluirá en la salida.
  • <!-- #Include ... --> es una directiva de inclusión del lado del servidor . Se utiliza para insertar el contenido de un archivo en la página, el control o el archivo global. Es útil cuando un control de usuario es excesivo y no se puede usar una página maestra.

También hay un Bloque de Declaración de Código , el formulario final del Bloque de Código Incrustado.

<script runat="server"> bool IsTrue() { return false; } </script>

Esto se usa para incluir miembros adicionales (métodos, etc.) a la clase generada a partir del marcado ASP.NET. Estos solo se han proporcionado "principalmente para preservar la compatibilidad con versiones anteriores con la tecnología ASP más antigua" y no se recomiendan para su uso.


Los chicos de Microsoft los llaman "pepitas" o "pepitas de código" a veces.


No hay respuesta para su pregunta de nombre, pero la página de "Sintaxis de página ASP.NET" de MSDN es bastante buena (o más bien, esa es la página de nivel superior; las páginas debajo de ella ofrecen más información).

EDITAR: Anteriormente había pensado que <%# ... %> no estaba incluido en la lista, pero por supuesto que lo está, en Expresiones de enlace de datos. Doh


Siempre he encontrado que esta página de inicio rápido es muy útil, siempre que tengo dudas sobre la sintaxis del lado del servidor. Detalla 8 estilos de marcado diferentes y proporciona ejemplos ilustrativos de cada uno, además de explicar los pros y los contras.

Sin embargo, no menciona la directiva de nivel de página, que IIRC se detalla en otra parte del Inicio rápido.

Por supuesto, esto es relevante para ASP.NET 2.0.


También he escuchado estas llamadas "picaduras en V", incluso en el Podcast .