miércoles, 24 de octubre de 2012


ASP.NET

apareció en el mercado como repuesta de Microsoft al gran éxito de J2EE  ( Java 2 Enterprise Edition).

Los puntos fundamentales de la nueva estructuraASP.NETson


 ASP.NETproporciona un modelo de desarrollo de aplicaciones Web basado en laplataforma .NET. Este entorno de programaciónpermite tratar a ASP.NET comoun lenguaje orientado a objetos.

 Se pueden desarrollar aplicaciones Web en cualquiera de los lenguajes .NET, comoC# o Visual Basic.

 Separación de la capa de presentación de la capa de negocio, gracias a la utilizaciónde las páginascode-behind (código trasero).

 Acceso a los servicios proporcionados por .NET Framework. Eso permite quepodamos utilizar la biblioteca de clasesen las aplicaciones Web.

 El código de las aplicaciones ASP.NETse compila a través del motor CLR, quecompila con JIT ( Just In Time).

 Losparámetros de configuración se almacenan en archivos de tipo XML,porque es de lectura universal y se pueden generar con cualquier editor de textos.

 Permite usarADO.NETpara acceso a datos.

 Detección automática del navegador cliente, generando el lenguaje de marcassoportado por el mismo.

 Mecanismo deCaching incorporadopara páginas completa o partes de la mismafrecuentemente solicitadas.

 Compatibilidad con ASP. Se pueden tener página ASP y ASP.NET en el mismoservidor colaborando. Las páginas ASP tendrán extensión .aspy son procesadas porla DLL ASP.DLL y las página ASP.NET .aspxy son procesadas por el entorno.NET.

 ASP.NET es que conserva el contenido de los formularios después de enviarlos alservidor. Microsoft llama a estopersistencia automáticadel estado de la vista delos datos.


EJECUCIÓN DE LOS ARCHIVOS ASP.NET

Cuando un visitante quiere acceder a un sitio Web, escribe una direcciónURL(Uniform Resource Locator ) en el navegador y éste realiza una peticiónHTMLal servidor queestá alojando ese sitio Web.

En el momento en que el servidor recibe la petición,determina el tipo de archivo solicitado y lo envía a la aplicación correspondiente para que lo procese.

En el caso de páginasASP.NET, éstas son compiladas (normalmente sies la primera vez que se seleccionan) y ejecutadas, reenviando al visitante los resultadosde la consulta a través de su navegador.

Ejecución del lado del cliente

En las aplicacionesASP.NETse mezcla una parte de ejecución del lado del cliente yotra del lado del servidor.La ejecución de la página del lado del cliente se determina de la siguiente manera:

 Cuando el servidor recibe una petición determina el tipo de navegador del cliente y,en función de éste, codifica las instrucciones a una versiónHTMLadecuada.Incluso el servidor puede determinar si el navegador soportaJavaScripty, enfunción de ello, convertir parte de su código enJavaScriptpara ejecutarse en elcliente. Todo ello lo decide el servidor sin tener que codificar enJavaScript.

 Al descargar la páginaASP.NETen el navegador se envía, junto a ella, código pararealizar comprobaciones e iniciar aquellas funciones que se puedan realizar en elcliente liberando así al servidor de su ejecución.

 Cuando el servidor recibe la respuesta de un formulario, los valores son guardadosen una nueva herramienta deASP.NETllamadabolsa de estadoy son comprimidosy ocultados en una página llamadavista de estado. El objetivo es que, una vezenviado el formulario, éste recupere su apariencia anterior.

GET Y POST

El procedimiento más habitual para que un navegador realice una petición a un servidordesde un formulario es mediante el uso de dos métodos HTML:GET yPOST.

El método GET almacena toda la información que requiere dentro de una dirección URL.

 En ella primero aparecerá el tipo de protocolo utilizado: HTMLoFTP, acontinuación, el nombre del dominio, seguido del patha la página solicitada y elnombre de la página. A continuación se le puede añadir toda la información necesariapara realizar la petición, la llamadaquery string.

Ésta está separada del resto medianteel signo de interrogación. A partir de ahí se establecen pares:clave=valor , por ejemplo,temperatura=20.

Si necesitamos varios pares, éstos se unen mediante el signo&.Si enviáramos un formulario que contuviese campos para nombre, apellidos y edad porel métodoGET ( METHOD = "GET") y el usuario escribiera Juan, Soto y 30, se enviaríala siguiente petición URL al servidor: 
http://Workshop1/Painting/Profile.asp?Nombre=Juan&Apellido=Soto&Edad=30 Cuando un navegador envía la información mediante el método POST, los datos seestructuran igual que en el métodoGETpero se ubican en una cabecera HTML separada de la página, por lo que no son visibles.

 Por esta razón, en la mayoría de loscasos los programadores prefieren ese método.Cualquiera sea el método utilizado, es decir GETo POST, cuando un formulario esenviado al servidor, decimos que se produjo un POSTBACK.Los Web Forms envían sus datos por el método POSTy la página destino es la actual.

Ejecución del lado del servidor

 El servidor envía una petición
 Localiza la página usando laURL
 ASP.NETanaliza el código y si éste no tiene un código compilado actualizadollama al compilador para general elIL, luego compila y guarda el código.
 Elruntimedel servidor carga y ejecuta el código y envía la respuesta al cliente. Enlas siguientes peticiones, elruntimecarga directamente elILy lo ejecuta.
 La respuesta es reenviada al navegador traducida a códigoHTMLy éste representala respuesta en la pantalla del cliente.El ciclo simplificado de ejecución del lado del servidor sería


COMPONENTES DE ASP.NET

ASP.NETes un “Marco” ( framework ) para programar aplicaciones Web, de un modosimilar al que se programan las aplicacionesWindows. Los componentes principales deuna aplicación WebASP.NETson:

 WebForms(Formularios Web). Proporcionan la interfaz de usuario para laaplicación Web y lo constituyen uno o más archivos con extensión.aspx.
 Archivos Code-Behind.Las páginas con código trasero están asociadas a losformulariosWeb Formsy contienen el código del servidor para el formularioWeb Form. Su extensión será.aspx.vbsi el lenguaje utilizado esVisual Basic
 Archivos de configuración conformatoXML.Los archivos de configuración sonarchivosXMLque definen la configuración predeterminada para la aplicación Weby para el servidor Web. Se pueden utilizar un archivoWeb.configpor cadaaplicación y un único archivo Machine.configpor servidor
 Global.asax.Los archivosGlobal.asaxcontienen el código necesario pararesponder a los eventos a nivel de aplicación provocados porASP.NET
 DirectorioBIN.Contiene elassemblyde la aplicación (Ej.: MiAplic.dll) y cero omásassemblies(Componentes externos)
Conectividadabases de datos. La conectividad a bases de datos permite a laaplicación Web transferir datos desde y hacia fuentes de base de datos.
 Caché. El uso de caché permite a la aplicación Web devolver más rápidamenteformulariosWeb Formsy datos tras la primera petición.


ESTRUCTURA DE UNA APLICACIÓN WEB

Las aplicaciones Web están compuestas de los siguientes ficheros:

 Archivos de solución (.sln, .suo). La extensión de archivo NombreSolución.sln seutiliza para archivos de solución que enlazan uno o más proyectos, y almacenainformación global. La extensión de archivo NombreSolución.suose utiliza paraarchivos que acompañan los registros de solución y las personalizaciones queagreguemos a nuestra solución. Este archivo guarda nuestra configuración, comopuntos de interrupción y elementos de tareas, para que sean recuperados cada vezque abramos la solución.

 Archivos de proyecto (.vbproj). Cada proyecto es una única aplicación Webalmacenada en su propia carpeta. Dentro de la carpeta de proyecto se encuentra elarchivo de configuración del proyecto y los archivos reales que constituyen elproyecto. El archivo de configuración del proyecto es un documentoXMLquecontiene referencias a todos los elementos del proyecto, como formularios y clases,además de referencias de proyecto y opciones de compilación. Los archivos deproyecto Visual Basic .NET utilizan una extensión .vbproj, mientras que C# utiliza.csproj.

 Formularios Web Forms ASP.NET(.aspx). Los formularios Web FormsASP.NET se utilizan cuando es necesario generar sitios Web dinámicos a los quelos usuarios accederán directamente. Servicios Web ASP.NET (.asmx). Los servicios Web se utilizan cuando deseamoscrear sitios Web dinámicos a los que únicamente accederán otros programas. Losservicios WebASP.NETpueden estar soportados por una página de códigosubyacente designada por la extensiónWebService.asmx.vb oWebService.asmx.cs.

 Clases, páginas de código subyacente (.vb o .cs). Las páginas de códigosubyacente utilizan dos extensiones: el tipo de página (.aspxo .asmx) y la extensiónde Visual Basic (.vb) o la extensión de C# (.cs). Por ejemplo, el nombre de archivocompleto para la página de código subyacente de un formulario Web FormASP.NETpredeterminado es, para un proyectoC#,WebForm1.aspx.cs.

 Clases de aplicaciones globales (.asax). El archivoGlobal.asax, también conocidocomo el archivo de la aplicaciónASP.NET, es un archivo opcional que contienecódigo para responder a eventos a nivel de aplicación provocados porASP.NEToporHttpModules.

 Archivo Web.config. Este archivoWeb.configcontiene opciones de configuraciónque elCLRlee, como políticas de enlace de ensamblados, objetosremoting, etc., yotras configuraciones que la aplicación puede leer.

 Styles.css.Es el archivo de hojas de estilo predeterminado para la Web.

 Ensamblado del proyecto (.dll).Todas las páginas de código subyacente (.aspx.vby .aspx.cs) de un proyecto están compiladas en un único archivo ensamblado que sealmacena comoProjectName.dll. Este archivo ensamblado del proyecto se ubica enel directorio /bindel sitio Web.

 AssemblyInfo.vb o AssemblyInfo.cs.El archivoAssemblyInfose utiliza paradescribir la información general del ensamblado, como la versión y los atributos delmismo.

ESTRUCTURA DE UNA PÁGINA

ASP.NET Los elementos más importantes de una páginaASP.NETson:

 Directivas
 Bloques de declaración de código
 ControlesASP.NET
 Bloques de presentación de código Comentarios del lado del servidor
 Directivas de inclusión del lado del servidor
 Texto literal y etiquetasHTML

SINTÁXIS DE ASP.NET


ASP.NET
utiliza tres delimitadores distintos para indicar el código de servidor, esdecir, el código que se ejecutará en el servidor y que estará escrito en el lenguaje C#-<%%> Encerrado dentro de los delimitadores<%%>se va a encontrar todo el código de scriptde servidor, de esta forma el comando <%nombre="Pepe"%> asigna el valor Pepe a lavariable nombre.

Entre estos delimitadores se pueden incluir varias sentencias. El código incluido entre estos delimitadores se ejecuta dentro de la página.<%=%> Dentro del segundo tipo de delimitadores<%=%>se encuentran expresiones que devuelve algún valor para ser mostrado en la salida de la página, así por ejemplo laexpresión<%=nombre%> enviará al navegador el valor Pepe, es decir, el valor actual de la variable.

 Entre estos delimitadores sólo se puede encerrar una sentencia.
<script language="vbscript" runat="server"></script>

Esta etiqueta es utilizada únicamente para declarar métodos (procedimientos yfunciones) de la página.
Code-behind Otra forma es introducir el código en un fichero aparte que tiene extensión aspx.vb(para VB), de esta forma separmos la vista de los controladores.

Este fichero con códigoen VB se denomina code-behind  Ejemplos En el ejemplo se puede ver la utilización de los delimitadores<%%>para definir unobjeto de la clase DateTimecon la fecha y hora actual. Y también se utilizan los delimitadores<%=%> para mostrar la fecha y hora actual en el navegador del usuario.Incluir este código en el body.

<% Dim ahora As DateTime = DateTime.Now%>
 La hora y fecha actual es:
<% = ahora.ToString()%>

 Dentro de los delimitadores de código de servidor se pueden encontrar también instrucciones del lenguaje de objetos que se utilice, así por ejemplo puede aparecer una instrucción If...Else del lenguaje VB, como se puede apreciar en siguiente código

 <% Dim nombre As  String = "" , variable = ""

 If (nombre = ""  )Then 
variable = "Nombre desconocido"
Else
variable = "Hola amigo " + nombre
End  If %>
 < font  color ="red">
<%=variable%>
</ font > 

En el código anterior se comprueba si la variablenombretiene algún valor, si lo tienesaludamos con el valor de la variable, mostrando el saludo en color rojo.

Aunque ya veremos que el códigoVBes mejor ejecutarlo desde un fichero code- behind  que provocará la especialización de los ficheros según sean orientados al interface o a laejecución de códigoVB


Directivas

Una directiva controla como se compila una páginaASP.NET.
Las directivas tiene lasiguiente sintásix.
<%@ directiva %>
 Las directivas aparecen normalmente al principio de la página aunque puedenlocalizarse en cualquier sitio.Dos ejemplos de directivas son:

 De página: solo puede haber una línea en cada fichero, en cada línea puede habervarias directivas de otros tipos.

  Language: para indicar el lenguaje predeterminado
<%@ Page Language=”VB” %>

 Trace:se realiza un seguimiento de la página y permite visualizar informaciónadicional sobre la ejecución de la página junto con su contenidoTrace=”True”

  Debug:permite que se visualicen mensajes de error en tiempo de ejecución, sepuede combinar con TraceTrace=”True” Debug=”True”

  AutoEventWireup:Indica si los eventos de la página pueden ser detectados por elcódigo (PageLoad) sin necesidad de que los controladores de eventos utilicenHandles… . En los webs forms de visual basic, el valor viene a false y a que espropio del lenguaje indicar en cada controlador de eventos el evento al que respondey el objeto que lo provoca con Handles.AutoEventWireup ="false" 

 Codefile:Indica el fichero donde están los controladores de evento del la páginaactual
CodeFile="Default.aspx.vb"

  Inherits:este atributo indica el nombre de una clase de la que el control hereda, esteatributo esutilizado para realizar la separación del código de la presentación de lainformación Inherits="_Default"


Bloques de declaración de código

Un bloque de declaración de código contiene toda la lógica de aplicación de una páginaASP.NETy todas las declaraciones de variables globales y métodos.
 Debe aparecerdentro de la etiqueta 
<Script Runat=”Server” Language=”VB”>
 Si no especificamos la propiedad Lenguaje tomará el dato de la directiva de página queespecifique el lenguaje de programación a utilizar en el servidor.

Controles ASP.NETCombinado con el códigoHTMLpueden aparecer controlesASP.NET, el único requisito es que los controles tengan la propiedad runat=”Server”.

Un limitación importante es que sólo se puede incluir una sentencia < form Runat=”Server”> por página.Bloques de presentación de código Podemos incluir código intercalado con el contenido HTMLde la página utilizando   <% ……%> <% =……%>


Comentarios del lado del servidor

Para introducir mententarios del lado del servidor, con propósito de documentación seutiliza
<%-- comentarios --%>
Cabe destacar que estas líneas están ocultas para el cliente, es decir, no se verán si desdeel navegador utilizamos las opciones para ver código fuente.

Directivas de inclusión del lado del servidor

Podemos incluir un archivo en una páginaASP.NET utilizando una de las dos formasde ladirectiva del lado del servidor.

 Si queremos incluir un archivo que está ubicadoen el mismo directorio o en un subdirectorio de la página que incluye el archivo,utilizamos la siguiente directiva:
<!--#INCLUDE file=”fichero.aspx” -->

Texto literal y etiquetas HTML

La información que queremos presentar de forma estática en nuestra página se hace pormedio de texto y etiquetas HTML


 Ejercicio :

Continuando con el ejercicio anterior agregar un Listbox con el nombre de Lcarreras en la pagina Default.aspx el cual quedara con los siguientes objetos

Listbox    Lcarreras
Textbox   Tmensaje
Button      Bmensaje

  •  primero que realizaras es cambiar la propiedad     autopostback=true por default es false
  • en la seccion de codigo del webform iras al metodo load del Page
Lcarreras.Items.Clear()
Lcarreras.Items.Add(
New ListItem("Ingenieria EN sistemas Computacionales", "ISC"))Lcarreras.Items.Add(
New ListItem("Ingenieria Industrial y de Sistemas", "IIS"))Lcarreras.Items.Add(
New ListItem("Ingenieria Civil", "IC"))Lcarreras.Items.Add(
New ListItem("Ingenieria Mercadotecnia", "ISM"))

insertaras el codigo anterior.


Tarea.


  • Que es un Web Form
  • En el codigo anterior genera un error analiza el erro y modificalo con los siguientes pasos
             eliminaras la siguiente linea agregada en el page_load

                       Lcarreras.Items.Clear()

             crearas una variable global en la clase 
  
public Class _DefaultInherits System.Web.UI.Page
Dim anexar As Boolean = False

y en la seccion  Page_Load quedara de la siguiente manera
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


 If  Not anexar Then 
Lcarreras.Items.Add(
New ListItem("Ingenieria EN sistemas Computacionales", "ISC"))
Lcarreras.Items.Add(New ListItem("Ingenieria Industrial y de Sistemas", "IIS"))
Lcarreras.Items.Add(New ListItem("Ingenieria Civil", "IC"))
Lcarreras.Items.Add(New ListItem("Ingenieria Mercadotecnia", "ISM"))
End If

End
Sub

  Private Sub Lcarreras_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles Lcarreras.SelectedIndexChanged
Tmensaje.Text = Lcarreras.SelectedItem.Value

End Sub

escribe los errores 
  • Que es una hoja de estilos CSS
  • Anexar una pagina aspx al proyecto , la hoja sera llamda Uno.aspx
en el cual deberas poner un textbox (Tcarrera) y un Listbox (Lmaestros)













No hay comentarios:

Publicar un comentario