Los scriptlets son fragmentos de código que aparecen en una página ASPX. Están delimitados por marcadores, que los distinguen de las secuencias HTML.
ASP.NET cuenta con consejos de scriptlets:
<% instructions %> | Instrucciones ejecutadas de arriba a abajo, anidadas en el código HTML. |
<%= expression %> | Expresión evaluada durante el renderizado de la página. |
<%# expression %> | La evaluación de expresiones puede llamar a un método de página o controlar DataBind(). |
<%$ expression %> | Expresión analizada en tiempo de compilación de la página y evaluada tras cada petición. |
Tabla de Contenidos
Los bloques de instrucciones <% instructions %>
Estos bloques de instrucciones se ejecutan durante la visualización de la página. Pueden influenza en la fabricación de secuencias HTML, tal y como muestra el siguiente ejemplo de código anidado:
<%
int i;
string[] dias = { "lunes", "martes", "miércoles", "jueves",
"viernes", "sábado", "domingo" };
for(i=0; i
<%= dias[i] %>
<% } %>
forma de expresión <%= expression %>
expresa tu imagen <%= y%> se evalúan sistemáticamente en el contexto de ejecución. Puede tratarse de valores literales, de variables o de llamadas a métodos.
<%= dias[i] %>
<%= DateTime.Now.ToLongTimeString() %>
Exprésate <%# expression %>
Desde un punto de vista sintáctico, podemos considerar las expresiones anidadas <%# %> como una variación de las expresiones sistemáticas <%= %>Ciertos controles, tales como las listas o las tablas de datos, se ejecutan repetidamente una serie de operaciones (rutina) hasta satisfacer una condición determinada sobre los registros con datos.
La fuente de la fuente de datos y los componentes contenidos en la fuente de datos, continúe y llame al método DataBind(). Establece el orden de resolución de las expresiones <%# %> Que hacen referencia a las columnas del origen de datos:
<%# DataBinder.Eval(Container.DataItem,"precio") %>
El estudio de los controles de datos (acceso a datos con ADO.NET) y de los controles basados en un modelo (Componentes personalizados) detalla esta sintaxis, algo compleja.
unión expresa <%$ expression %>
Las expresiones ligadas son útiles a la hora de acceder a las bases de datos. Estas expresiones no se evalúan hasta el momento en que se produce la llamada al método DataBind(). Pueden aparecer errores de contexto que se produjeron demasiado tarde como para ser corregidos.
Además, las expresiones <%= %> no pueden figurar como valor de atributo, de modo que la siguiente línea sería incorrecta:
Para cumplir con los requisitos, Microsoft ha utilizado la expresión $ de ASP.NET. Se trata de expresiones de análisis en tiempo de compilación, los cuales limitan el riesgo de errores contextuales y que pueden figurar como valor de un atributo.
Servidor de aplicaciones para ASP.NET y Visual Studio explotan, ambos, las $-expresiones. Ciertas expresiones estándar se basan directamente en Visual Studio y el desarrollador las aprovecha sin tener que introducir código.
La propiedad (expresión) es accesible mediante ciertos controles web y reemplaza al anterior sistema de propiedades dinámicas.
El código generado por Visual Studio es una expresión $:
ASP.NET proporciona, de manera estándar, tres tipos de expresiones:
Cadena de conexión | Lee directamente la sección connectionStrings del archivo Web.config. |
Configuraciones de la aplicación | Ver appSettings del archivo Web.config. |
recurso | Lee una entrada de un archivo de recursos. |
De esta forma es como los scriplets permiten insertar código Java en una página JSP (JavaServer Pages). Hay cuatro etiquetas distintas para insertar código Java dentro de una página ASP.NET, explicadas anteriormente.
La entrada¿ ¿Qué son los Scriptlets? se publicó primero en Linux en español.