Objetos ASP.NET Cuando se ejecuta una aplicación Web, ASP.NET mantiene información sobre: La aplicación actual. Cada sesión de usuario. La solicitud HTTP actual. La página de formularios Web Forms solicitada, etc.
Clases ASP.NET El marco de trabajo de páginas ASP.NET contiene una serie de clases (y objetos instanciados) para encapsular esta información de contexto.
Ejemplo: Request.Form(nombre)
Se obtiene o lee mediante el objeto Request el contenido de un campo nombre contenido en un formulario.
Objetos ASP.NET ASP.NET hace que instancias de estas clases estén disponibles como objetos intrínsecos a los que se puede tener acceso desde el código. La tabla siguiente enumera estos objetos intrínsecos y las clases de las que son instancias.
Objetos ASP.NET Nota Aunque las clases que definen estos objetos son nuevas en ASP.NET, los objetos se utilizan del mismo modo que en versiones anteriores de ASP.
Objetos ASP.NET
Objetos ASP.NET
Visual BASIC.NET
Visual BASIC.NET Visual Basic .NET ofrece numerosas características nuevas y mejoradas, como herencia, interfaces y sobrecarga, que lo convierten en un eficaz lenguaje de programación orientado a objetos.
Visual BASIC.NET Con Visual Basic, se puede crear aplicaciones multiproceso y escalables utilizando subprocesamiento múltiple explícito. También incluye el control estructurado de excepciones, atributos personalizados y compatibilidad con CLS (Common Language Specification, Especificación de lenguajes comunes).
VB.NET y el .Net Framework VB requiere de la biblioteca de clases de .NET Framework.
Tipos de datos de VB
3 Operadores de Visual BASIC. Operadores aritméticos. Los operadores aritméticos son suma o adición (+), resta o sustracción (-), multiplicación (*), división (/), división de entero (), módulo (Mod), negativo (-) y exponencial (^).
Operadores de comparación Los operadores de comparación son igual a (=), no igual a (< >), menor que (< ), menor o igual que (< =), mayor que (>) y mayor o igual que (>=). Los operadores de comparación como grupo tienen menor precedencia que los operadores aritméticos. Por ejemplo, expresiones como 2 + 3 < 2 * 9 son iguales que (2 + 3) < (2*9).
Operadores booleanos Los operadores booleanos son, en orden de precedencia de mayor a menor: Not, And, Or y Xor.
Operadores booleanos Basic .NET también introduce dos nuevos operadores, AndAlso y OrElse, que pueden reducir el tiempo de ejecución mediante evaluaciones lógicas cortocircuitadas. Si el primer operando de un operador AndAlso se evalúa como False, el segundo operando no se evalúa. De forma similar, si el primer operando de un operador OrElse se evalúa como True, el segundo operando no se evalúa.
Operadores booleanos Los operadores booleanos como grupo tienen una precedencia menor que los operadores de comparación. De esta forma, por ejemplo, la expresión: 2 < 3 And 4 >= -1 es lo mismo que: (2 < 3) And (4 >= -1).
Expresiones aritméticas Una expresión numérica es una expresión que contiene literales y variables que representan valores numéricos, y operadores que actúan sobre esos valores. A continuación se muestra un ejemplo de una expresión numérica: 4 * (67 + x)
Expresiones booleanas Una expresión Boolean es una expresión que da como resultado un valor Boolean. Las expresiones Boolean pueden tener varias formas. La más simple es la comparación directa del valor de una variable Boolean con un literal Boolean, como se muestra en el siguiente ejemplo: If x = True Then ' Compares x to the Boolean value True. ' Insert code to execute if x = True. Else ' Insert code to execute if x = False. End If
Expresiones de comparación Los operadores de comparación pueden utilizarse para construir expresiones que comparan los valores de variables numéricas. Estas expresiones devuelven un valor Boolean que depende de si la comparación es verdadera o falsa. Los siguientes son ejemplos de este tipo de expresión: 45 > 26 26 > 45
De esta forma, puede comparar cualquier par de expresiones numéricas. Las expresiones comparadas pueden ser complejas, como en el siguiente ejemplo: x / 45 * (y +17) >= System.Math.Sqrt(z) / (p – (x * 16))
4 Sentencias Secuenciales (asignación, expresiones). Condicionales (If, Select). Ciclos (For, While).
Sentencia If (formato) If condition [ Then ] [ statements ] [ ElseIf elseifcondition [ Then ] [ elseifstatements ] ] [ Else [ elsestatements ] ] End If
Sentencias condicionales Ejemplo simple de If
If Digits = 1 Then MyString = "One" Else MyString = "More than one End If
Sentencias condicionales Ejemplo grande de If
Dim Number, Digits As Integer Dim MyString As String Number = 53 ' Initialize variable. If Number < 10 Then Digits = 1 ElseIf Number < 100 Then ' Condition evaluates to True so the next statement is executed. Digits = 2 Else Digits = 3 End If
Sentencia Select (formato) Select Case testexpression [Case expressionlist-n [statements-n]] . . . [Case Else [elsestatements-n]] End Select
Sentencia Select (ejemplo) Dim Color, MyVar Sub ChangeBackground (Color) MyVar = lcase (Color) Select Case MyVar Case "red" document.bgColor = "red" Case "green" document.bgColor = "green" Case "blue" document.bgColor = "blue" Case Else MsgBox "pick another color" End Select End Sub
Sentencia Select Select Number ' Evaluate Number. Case 1 To 5 ' Number between 1 and 5, inclusive. Debug.WriteLine("Between 1 and 5") ' The following is the only Case clause that evaluates to True. Case 6, 7, 8 ' Number between 6 and 8. Debug.WriteLine("Between 6 and 8") Case 9 To 10 ' Number is 9 or 10. Debug.WriteLine("Greater than 8") Case Else ' Other values. Debug.WriteLine("Not between 1 and 10") End Select
Sentencia For (formato) For counter [ As datatype ] = start To end [ Step step ] [ statements ] [ Exit For ] [ statements ] Next [ counter ]
Sentencia For (ejemplo) For I As Integer = 1 To 10 For J As Integer = 1 To 10 For K As Integer = 1 To 10 ' Statements to operate with current values of I, J, and K. Next K Next J Next I
Sentencia For (ejemplo) Dim Words, Digit As Integer Dim MyString As String For Words = 10 To 1 Step -1 ' Set up 10 repetitions. For Digit = 0 To 9 ' Set up 10 repetitions. MyString = MyString & CStr(Digit) ' Append number to string. Next Digit ' Increment counter. MyString = MyString & " " ' Append a space. Next Words
Sentencia While (formato) While condition [ statements ] End While
Sentencia While (ejemplo) Dim Counter As Integer = 0 While Counter < 20 ' Test value of Counter. Counter += 1 ' Increment Counter. End While ' End While loop when Counter > 19. Debug.WriteLine (Counter) ' Prints 20 in the Output window.
5 Arreglos Dim array1(9) As Integer
Dim i As Integer For i = 0 To array1.Length – 1 array1(i) = i Console.Write( " " & array1(i) ) Next i
Arreglos ' Creates and initializes a new integer array and a new Object array.
Dim myIntArray() As Integer = {1, 2, 3, 4, 5} Dim myObjArray() As Object = {26, 27, 28, 29, 30}
Arreglos En Visual Basic, se pueden declarar matrices de hasta 32 dimensiones. Por ejemplo, la siguiente instrucción declara una matriz bidimensional con 5 filas y 10 columnas. Dim Rectangle(4, 9) As Single
6 Subprogramas, funciones y librerías. VB usa distintos tipos de subprogramas, los más generales son: Sub (procedimientos). Function (funciones).
Las librerías que se usan son las del .NET Framework y se importan con la sentencia: Imports Librería
Ejemplo:
Imports System.XML
Procedimientos Sub MySub(ByVal Q As String, ByRef i As Integer) ' … Return ' … End Sub
Procedimientos ' Sub procedure definition. ' Sub procedure with two arguments. Sub SubComputeArea(ByVal Length As Double, ByVal Width As Double) Dim Area As Double ' Declare local variable. If Length = 0 Or Width = 0 Then ' If either argument = 0. Exit Sub ' Exit Sub immediately. End If Area = Length * Width ' Calculate area of rectangle. Debug.WriteLine(Area) ' Print Area to Immediate window. End Sub
Funciones Public Function GetTheNumber() As Integer Return 42 End Sub
Funciones Public Function CalcSum(ByVal ParamArray Args() As Double) As Double Dim I As Integer CalcSum = 0 If Args.Length < = 0 Then Exit Function ' No arguments passed. For I = 0 To UBound(Args, 1) CalcSum += Args(I) Next I End Function ' Returns latest value of CalcSum.
La función se puede invocar como sigue: Dim ReturnedValue As Double ReturnedValue = CalcSum(4, 3, 2, 1)
' The function's local variables are assigned the following values: ' Args(0) = 4, Args(1) = 3, and so on.
Biblioteca de clases de .NET Framework La biblioteca de clases de .NET Framework está constituida por espacios de nombres. Cada espacio de nombres contiene tipos que se pueden utilizar en el programa: clases, estructuras, enumeraciones, delegados e interfaces.
Librerías Para usar una librería o clase en un proyecto, esta se importa mediante la sentencia Imports, ejemplo:
Imports System.Xml
Se importa el espacio de nombres Xml ubicado dentro del espacio de nombres System. El espacio de nombres Xml proporciona un conjunto de clases (o librerías para manipular archivos XML.
Librerías
Librerías Se muestran algunas clases, propiedades y espacios de nombres del espacio de nombres XML.
Biblioteca de clases de .NET Framework Como en cualquier biblioteca de clases orientada a objetos, los tipos de .NET Framework permiten realizar diversas tareas de programación comunes, como son la administración de cadenas, recopilación de datos, conectividad de bases de datos y acceso a archivos.
Biblioteca de clases de .NET Framework Además de estas tareas habituales, la biblioteca de clases incluye tipos adecuados para diversos escenarios de desarrollo especializados. Por ejemplo, puede utilizar .NET Framework para desarrollar los siguientes tipos de aplicaciones y servicios: Aplicaciones de consola Aplicaciones GUI de Windows (Windows Forms) Aplicaciones de ASP.NET Servicios Web XML Servicios de Windows
Espacios de nombres para el Web en Visual Studio Entre los espacios de nombres de .NET Framework relativos a aplicaciones Web ASP.NET y servicios Web XML se incluyen los siguientes: System.Web: contiene clases e interfaces que permiten la comunicación entre explorador y servidor. Las clases de este espacio de nombres administran los resultados HTTP dirigidos al cliente (HttpResponse) y leen las solicitudes HTTP (HttpRequest). Otras clases proporcionan utilidades para herramientas y procesos de servidor, manipulación de cookies, transferencia de archivos, información sobre excepciones y control de caché de resultados. System.Web.UI: contiene clases para crear páginas de formularios Web Forms, incluida la clase Page y otras clases estándar que se utilizan para crear interfaces de usuario Web. System.Web.UI.HtmlControls: contiene clases para controles HTML que se pueden agregar a formularios Web Forms para crear interfaces de usuario Web.
Espacios de nombres para el Web en Visual Studio System.Web.UI.WebControls: contiene clases para crear controles de servidor Web ASP.NET. Cuando se agregan a un formulario Web Forms, estos controles proporcionan código HTML específico del explorador y secuencias de comandos que permiten crear interfaces Web de usuario independientes del dispositivo. System.Web.Services: contiene las clases que permiten generar y utilizar servicios Web XML, que son entidades programables residentes en un servidor Web que se exponen por medio de protocolos estándar de Internet. System.Xml: Proporciona compatibilidad basada en estándares para procesar XML.
7 Ejemplos prácticos Realizar y analizar algunos ejemplos en Visual Studio.NET, que se trabajarán en el Laboratorio de Cómputo.
8 Procesado de formularios Un formulario permite al cliente Web enviar información al servidor. Normalmente un formulario esta en una página HTML. Los datos a enviar se deben encerrar entre la etiqueta < form>< /form> Normalmente una página .aspx recibirá el formulario y lo procesará (común almacenarlo en una BD).
Ejemplo de una página HTML con formulario.
Vista de código de la página anterior.
Procesamiento del formulario en la página .aspx
9 Sesiones Una sesión se establece cuando el usuario abre una página de la aplicación Web y se termina cuado se cierra la última página, o bien se puede terminar después de cierto tiempo de inactividad.
ASP.NET permite guardar datos de la sesión de cada usuario en la aplicación.
Para esto se usa el objeto Session.
Además el archivo Global.asax tiene definidos eventos para detectar cuando un usuario: inicia sesión, termina sesión, etc.
Sesiones Por ejemplo, dentro del texto HTML el siguiente código:
Crea una variable de sesión llamada Nombre y le asigna un valor obtenido de un formulario. ¿En que páginas de la aplicación Web se podrá usar la variable una vez creada y asignado su valor?
Sesiones Analizar el código del lado del servidor en una página .aspx:
Sesiones Ahora una vez creada la variable de sesión y asignado un valor. Esta variable se puede usar en cualquier página a la que ingrese ese usuario.
Sesiones Analizar el ejemplo:
Sesiones El archivo Global.asax es opcional en un proyecto Web. Nos permite definir código asociado a eventos de: Inicio de la aplicación. Fin de la aplicación. Inicio de sesión. Fin de sesión.
Sesiones Agregar un archivo Global.asax a un proyecto Web:
Archivo Gobal.asax (vista inicial)
Archivo Global.asax (con código)
10 Conectividad entre el servidor Web y el servidor de la BD. Tema tratado en el laboratorio. En un proyecto Web se pueden crear n conexiones a bases de datos. Por ejemplo, para conectarse a Oracle, mediante ODBC realizamos: Creación de una conexión ODBC en el Panel de Control. Proporcionar información para la conexión (usuario/contraseña/servidor). Crear la conexión en Visual Studio y usarla.
Conectividad entre el servidor Web y el servidor de la BD. Para conectarnos a una base de datos de Access. Se recomienda agregar la BD (un solo archivo .mdb) a la carpeta App_Data. Esta carpeta ya tiene los permisos para que usuarios que se conectan vía Web puedan consultar y modificar la BD. La conexión se generó directamente desde el Visual Studio. Access es adecuado para aplicaciones pequeñas y para pruebas. No maneja concurrencia.
11 Manejo de archivos. Se usan las clases de .NET Framework para manejo de archivos. Una aplicación práctica es la creación y uso de archivos XML. Un archivo XML es de texto y es un estándar para compartir datos entre aplicaciones.
Manejo de archivos. Para agregar al proyecto un archivo XML:
Manejo de archivos Editando en vista diseño un archivo XML.
Manejo de archivos Vista del archivo XML en el explorador Web
12 Seguridad. Muchas aplicaciones de Web requieren de restringir el acceso a aplicaciones o páginas, para que solo ciertos usuarios la puedan acceder.
Ejemplo, para proteger una página, para que solo un usuario autorizado la pueda abrir.
Página anterior | Volver al principio del trabajo | Página siguiente |