2011-10-28 28 views
22

Estoy tratando de hacer el cambio de Java a .NET.

He notado que varias páginas ASP.NET tienen <%$ sometext %> en ellas. ¿Puede alguien explicar lo que hace en un par de oraciones, o indicarme una referencia sobre la sintaxis?

Respuesta

33

Es la sintaxis del generador de expresiones, y se usa comúnmente para acceder a la configuración en el web.config. He aquí un ejemplo utilizando la sintaxis generador de expresiones para obtener una cadena de conexión:

ConnectionString="<%$ ConnectionStrings:sqlconnection %>" 

He aquí un buen artículo que explica todas las expresiones en línea:
http://support.microsoft.com/kb/976112

El constructor de expresión se utiliza para establecer los valores de propiedades de control basadas en la información que está contenida en la configuración de una aplicación o archivos de recursos. A continuación se muestra la sintaxis básica del generador de expresiones: <%$ Expression Prefix: Expression Value %> El signo de dólar ($) indica a ASP.NET que la siguiente expresión es un generador de expresiones. El prefijo de expresión define el tipo de expresión, como AppSettings, ConnectionStrings o Resources. Además, puede crear y definir su propio generador de expresiones. El valor de expresión que sigue a los dos puntos (:) es lo que ASP.NET realmente usará como el valor de una propiedad determinada.

+0

+1 Me lo ganaste esta vez :) – Icarus

+0

No se trata solo de web.config. Eso es lo que hacen algunos constructores de expresiones. Ver mi respuesta para un ejemplo. – InfinitiesLoop

+0

@InfinitiesLoop: Sí, modifiqué mi respuesta. Creo que es justo lo que se usa con más frecuencia. –

2

<% $ expressionPrefix: expressionValue%> se utiliza para expressions. Donde la expresiónPrefijo es el constructor de expresiones que usa, y expressionValue es la expresión real que se pasa al generador de expresiones.

Un uso de ejemplo: <%$ AppSettings: greeting %> que leería el greeting desde la configuración de la aplicación. Varios constructores de expresión se suministran por defecto como por ejemplo:

  • AppSettings
  • Recursos
  • connectionStrings

También es posible crear su propia custom constructor (s) de expresión.

This página ofrece una visión general agradable de varias etiquetas ASP.NET disponibles. Aunque falta <%:%> que HTML codifica los contenidos suministrados.

6

Hace referencia a lo que se denomina un "generador de expresiones". Es solo un componente que puede conectarse al mecanismo de análisis. El generador de expresiones se alimenta con el contenido de la expresión y es responsable de devolver expresiones CodeDOM que describen cómo obtener el valor real.

he implementado un constructor de expresión genérica que le permite poner cualquier código en él:

http://weblogs.asp.net/infinitiesloop/archive/2006/08/09/The-CodeExpressionBuilder.aspx

0

Se llama expression y se utiliza para diversas cosas, incluyendo la lectura de web.config, configuración de la aplicación y archivos de recursos para localizaciones. Resource expressions son probablemente la forma más utilizada de expresiones. En lugar de poner el texto estático en los controles, se puede usar esta expresión y el tiempo de ejecución de ASP.NET seleccionará el archivo de recursos para el cultivo actual y extraerá el valor del mismo.

Cuestiones relacionadas