Pregunta

Estaba usando formularios web ASP.NET y ASP.NET MVC durante algún período de tiempo.

Asi que <%= %> en vistas significa Response.Write(), <%: %> Introducido en MVC agrega escapar de HTML.

En SqlDataSource Control Designer genera algo como esto ConnectionString="<%$ ConnectionStrings:FooConnectionString %>" Y en el repetidor usas <%# Eval("") %> Sytax.

Mi pregunta es qué hacer exactamente <%$ %> y <%# %> Etiquetas, ¿en qué métodos transmitieron y cómo se comportan?

¿Fue útil?

Solución

<%$ %> es el sintaxis de expresiones.

Hay algunos atajos incorporados para AppSettings, Recursos y Conexiones. Tú también puedes escribe lo tuyo.

<%# %> es el sintaxis de expresión de databinding.

Esto se utiliza en los controles de datos para resolver los valores de las propiedades del objeto que está vinculado.

Otros consejos

Recorté este texto de un libro (no recuerdo qué libro) hace un tiempo mientras pensaba que explicaba el <%# %> sintaxis bien -

Aquellos de ustedes familiarizados con las aplicaciones ASP clásicas podrían pensar que la sintaxis < %# %> parece muy familiar. Es similar en un propósito, pero debe asegurarse de no confundir a los dos porque hacerlo podría hacer que su aplicación funcione de manera incorrecta. Mientras que en ASP (y ASP.NET), la sintaxis < %= %> hace que lo que esté dentro de los soportes se evalúe en el tiempo de renderizado, los soportes < %# %> exclusivos de ASP.NET se evalúan solo durante la unión. Como verá más adelante en esta sección, la página y cada control vinculable en la página tienen un método databind (). Las expresiones contenidas dentro de los soportes de enlace de datos (< %# %>) se evalúan solo cuando se invoca el método de datos del control.

Eso solo responde a la mitad de su pregunta, pero la excelente respuesta de Rob Stevenson-Leggett cubre todo lo demás. Solo pensé en agregar esto a través de una ilustración adicional.

He escrito una publicación de blog sobre los diferentes tipos de expresiones disponibles en formularios web ASP.NET:

Expresiones versus declaraciones, Parte 2: Tipos de bloque de código ASP.NET (Archivo de Internet)

Explica los siguientes bloques de expresión:

<%$ %>

Sintaxis de expresión ASP.NET, utilizada para unirse con configuración de aplicación, cadenas de conexión y recursos.

<%# %>

Sintaxis de unión a datos ASP.NET, solo se evaluó al llamar a un método de enlace de datos del control.

<% %>

Bloques de código, el código se convierte en parte de RenderMethodDelegate. El código debe ser declaraciones. Usar Response.Write para sacar algo.

<%= %>

Igual que el anterior, excepto que el código debería ser una sola expresión. Estará envuelto en HtmlTextWrite.Write().

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top