Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería de Sistemas
José Sulla Torres
Agenda
• Introducción
• Anatomía de una aplicación ASP.NET
• Clases de control HTML
• La clase pagina
• Configuración ASP.NET
Anatomía de una aplicación ASP.NET
• Cada aplicación ASP.NET comparte un conjunto común de
recursos y configuraciones que se ejecuta dentro de un
dominio de aplicación separado.
• Los dominios de aplicación están aislados en áreas de
memoria, de este modo aseguran que si alguna aplicación
web causa un error fatal, no afectará a otra aplicación.
Anatomía de una aplicación ASP.NET
Tipos de archivos ASP.NET
Archivo Descripción
nombre.aspx Son las paginas web
nombre.ascx Son los controles de usuario
web.config Archivo XML con configuraciones de seguridad,
gestión de memoria,.
global.asax Archivo de aplicación global.
nombre.cs Archivo con código C#.
Ejemplo: Conversor de monedas
Controles de servidor
¿está el archivo
IIS registrado en ASP.NET? Maneja la petición internamente,
No o lo pasa a otro servicio
Si
¿La instancia de la
ASP.NET App ha sido creada? Instancia la aplicación, crea variables
No y eventos globales (dominio de aplic.)
Si
¿La página ha sido
Compilada? Compila y lo guarda en la caché la
No página
Si
Convertir:
<input type="text" id="US" runat = "server“ /> dólares
pic1.png
Agregando imágenes enlazadas
Fijando estilos
• Cada control HTML también proporciona acceso a atributos
de estilos CSS a través de su colección Style.
• Para usar esta colección, se necesita especificar el nombre del
atributo de estilo CSS (Cascading Style Sheets) y el valor que
se desea asignar a este.
• La sintaxis básica es:
ControlName.Style [“Nombredeatributo”] = “ValorAtributo”;
Fijando estilos
• Por ejemplo se podría enfatizar con un color rojo la entrada
indebida de un valor.
protected void Convert_ServerClick(Object sender, EventArgs e)
{
decimal monto = decimal.Parse(txtDolar.Value);
if (monto < 0) {
Resultado.Style["color"] = "Red";
Resultado.InnerText = "Ingrese un valor positivo";
}
else {
Resultado.Style["color"] = "Blue";
ListItem item = Monedas.Items[Monedas.SelectedIndex];
decimal nuevoMonto = monto * Decimal.Parse(item.Value);
Resultado.InnerText = monto.ToString() + " US dolares =";
Resultado.InnerText += nuevoMonto.ToString() + item.Text;
}
}
Fijando estilos
Una mirada profunda a las clases de control
HTML
Eventos HTML
• Los controles de servidor HTML también proporciona
uno de dos posibles eventos:
• ServerClick: es simplemente un click que se procesa en el
lado del servidor.
• ServerChange: responde cuando un cambio se ha hecho a
un control texto o selección.
Eventos HTML
Eventos Avanzados con el control
HtmlInputImage
• Los eventos estándar de .NET, indican que cada evento debería
pasar dos parámetros de información.
• El primer parámetro identifica el objeto (en este caso, el control)
que dispara el evento.
• El segundo parámetro es un objeto especial que puede incluir
información adicional acerca del evento.
Eventos Avanzados con el control
HtmlInputImage
• De hecho, solo un control de servidor HTML envía
información adicional: HtmlInputImage
• Este envía un objeto ImageClickEventArgs que da las
coordenadas X y Y representando la ubicación donde la
imagen se ha hecho click.
Eventos Avanzados con el control
HtmlInputImage
Eventos Avanzados con el control
HtmlInputImage
La clase base HtmlControl
• Cada control HTML hereda de la clase base
HtmlControl.
• Esto significa que cada control HTML soportará un
conjunto básico de propiedades.
La clase base HtmlControl
Propiedades Descripción
Attributes Atributos y valores de las etiquetas.
Controls Todos los controles que pueden contener.
Disabled Deshabilita el control .
Page Referencia a la pagina web que tiene el
control.
Parent Referencia al padre del control.
Style Estilos CSS para la pagina.
TagName Indica el nombre de la etiqueta HTML.
Visible Oculta o muestra un control
La clase HtmlContainerControl
• Cualquier control HTML que pueda contener otros elementos
HTML hereda del control HtmlContainer.
• Por ejemplo: <a>, <form>, y <div> pueden contener otros
elementos HTML .
• De otro lado, <img> y <input> no pueden contener otros
elementos.
• Entonces las clases HtmlAnchor, HtmlForm, y
HtmlGenericControl heredan de HtmlContainerControl,
mientras que HtmlImage y HtmlInput no.
La clase HtmlContainerControl
Propiedades Descripción
InnerHtml Contenido HTML entre <>
InnerText Texto contenido entre <>
La clase HtmlInputControl
• Este control define algunas propiedades que son comunes para
todos los controles HTML que están basados en la etiqueta
<input> :
• <input type="text">,
• <input type="submit">, y
• <input type="file">.
Propiedades Descripción
Type Provee el tipo de control de entrada
Value Retorna el contenido del control como string
La clase Page
• Cada pagina web es una clase personalizada que hereda
de System.Web.UI.Page.
• Por herencia de esta clase, la clase pagina web adquiere
un numero de propiedades que el código puede usar.
La clase Page
Propiedades Descripción
Application y Esta colección mantiene el estado de información en el
Session servidor.
Cache Almacena objetos para reusar en otras paginas o para
otros clientes.
Controls Todos los controles contenidos en la pagina web.
IsPostBack Indica si es la primera vez que la pagina se ha ejecutado
(false)
Request Objeto HttpRequest que contiene información sobre la
actual petición de la web.
Response Objeto HttpResponse que permite fijar las respuestas
web o redirecciona al usuario a otra pagina web.
La clase HttpRequest
• La clase HttpRequest encapsula toda la información relacionada
a la petición del cliente para una pagina web.
Propiedades Descripción
ApplicationPath y Obtiene el directorio virtual URL, el directorio
PhysicalPath físico real.
Browser Tiene un enlace a las características del
navegador como ActiveX, cookies, etc.
Cookies Obtiene los cookies enviados con la petición
La clase HttpResponse
• La clase HttpResponse permite enviar información directamente
al cliente.
Propiedades Descripción
BufferOutput Por omisión es verdadero, la pagina no envia
al cliente hasta que este completamente listo.