<% %> Bloques de código incrustado
http://msdn.microsoft.com/es-es/library/ms178135.aspx
Como indica su definición, sirven para incrustar bloques de código.
<%@ Page Language="C#"%>
<html>
<body>
<%string[] semana = { "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo" };%>
<ul>
<%foreach (var s in semana)
{
Response.Write("<li>"+s+"</li>");
}
%>
</ul>
</body>
</html>
<%= %> Response.Writehttp://msdn.microsoft.com/es-es/library/6dwsdcf5.aspx
Esta etiqueta sustituye al Response.Write
<%@ Page Language="C#"%>
<html>
<body>
<% string nombre="Pepe";%>
<span>Hola, <%=nombre%></span>
</body>
</html>
<%# %> Expresión de datos enlazados
http://msdn.microsoft.com/es-es/library/bda9bbfx.aspx
Esta etiqueta crea un enlace a un origen de datos.
<%@ Page Language="C#"%>
<html>
<body>
<script language="C#" runat="server">
void BtnClick(Object sender, EventArgs e) {
Page.DataBind();
}
</script>
<form runat="server">
<label>Nombre:</label>
<asp:TextBox runat="server" id="Nombre"></asp:TextBox>
<br />
<asp:button Text="Saluda!!!" OnClick="BtnClick" runat="server"/>
<br />
Hola, <%#Nombre.Text%>
<br />
Hola, <%#DataBinder.Eval(Nombre,"Text")%>
<br />
Hola, <%#DataBinder.GetPropertyValue(Nombre,"Text")%>
</form>
</body>
</html>
<%$ %> Expresión de ASP.NET
http://msdn.microsoft.com/es-es/library/d5bd1tad.aspx
Evalúa expresiones basadas en cadenas de conexión, configuración de aplicación, recursos,...
Para este ejemplo, he añadido un recurso global y he añadido una cadena
Nuestro Web.Config tiene las siguientes entradas:
<connectionStrings>
<add name="NorthwindConnectionString"
connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
providerName="System.Data.SqlClient" />
</connectionStrings>
<appSettings>
<add key="Clave1" value="Valor1"/>
</appSettings>
Nuestra página ASP.NET:
El recurso almacenado es: <asp:Label id="label1" runat="server" Text="<%$Resources:Resource, TextoAlmacenado1 %>"/>
<br />
El valor almacenado en el AppSettings del Web.config es: <asp:Label id="label2" runat="server" Text="<%$AppSettings:Clave1 %>"/>
<br />
<asp:SqlDataSource ID="SqlDataSource1" Runat="server"
SelectCommand="SELECT * FROM [Employees]"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>">
</asp:SqlDataSource>
<%@ %>
Directivas de plantilla de texto
http://msdn.microsoft.com/es-es/library/xz702w3e.aspx
Se usan en las directivas de configuración de páginas, controles, etc.
<%@ Page Title="Hello, world" Language="C#"%>
<%-- --%> Comentarios de servidor
http://msdn.microsoft.com/es-es/library/4acf8afk.aspx
Son los comentarios de ASP.NET
<%: %> HtmlEncoding
http://weblogs.asp.net/scottgu/archive/2010/04/06/new-lt-gt-syntax-for-html-encoding-output-in-asp-net-4-and-asp-net-mvc-2.aspx
Este tag sólo está disponible a partir de ASP.NET 4.0
Es el equivalente a Server.HtmlEncode, función usada para evitar ataques de inyección de scripts.
En el ejemplo siguiente, vemos que <%=cadena%> muestra "texto", mientras que <%:cadena%> muestra "<b>Texto<b>"
<%@ Page
Language="C#"%>
<html>
<body>
<%string cadena = "<b>Texto</b>";%>
<%=cadena%>
<br />
<%:cadena%>
</body>
</html>
No hay comentarios:
Publicar un comentario