manual asp net web - español

129
http://www.tufuncion.com/diferentes-lenguajes- programacion 8 lenguajes de programación que deberías aprender » Etiquetas: o c++ o desarrollo o lenguajes o perl o php o programacion o web Lo normal sería pensar que este gráfico es un indicador de las habilidades necesarias en un futuro por un desarrollador web, pero la realidad es bien distinta aquí en España, sólo habría que darse una vuelta por algún portal de empleo y ver las habilidades que requieren las empresas... Por eso vamos a hacer un pequeño análisis de los 8 lenguajes de programación con más demanda en el mercado español, este análisis consta de 3 apartados: ¿Qué es?, ¿Por qué deberías aprenderlo?, Oferta de trabajo (Fuente:Infojobs ) 1.PHP ¿Qué es? PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad. PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script. Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones a la base de datos, porque PHP lo hará por ti. leer más ¿Por qué deberías aprenderlo? Es uno de los lenguajes de progrmación más populares, la gran fluidez y rapidez de sus scripts y su prometedor futuro, desarrollar aplicaciones Webs utilizando lenguajes como C o COBOL son cosas del pasado.

Upload: stephanie-m-barreda-sotomayor

Post on 14-Aug-2015

137 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: manual asp net web - español

http://www.tufuncion.com/diferentes-lenguajes-programacion

8 lenguajes de programación que deberías aprender»

Etiquetas:

o c++

o desarrollo

o lenguajes

o perl

o php

o programacion

o web

Lo normal sería pensar que este gráfico es un indicador de las habilidades necesarias en un futuro por un desarrollador web, pero la realidad es bien distinta aquí en España, sólo habría que darse una vuelta por algún portal de empleo y ver las habilidades que requieren las empresas...

Por eso vamos a hacer un pequeño análisis de los 8 lenguajes de programación con más demanda en el mercado español, este análisis consta de 3 apartados:¿Qué es?, ¿Por qué deberías aprenderlo?, Oferta de trabajo (Fuente:Infojobs)

1.PHP¿Qué es?PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad.

PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script.

Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones a la base de datos, porque PHP lo hará por ti. leer más

¿Por qué deberías aprenderlo?Es uno de los lenguajes de progrmación más populares, la gran fluidez y rapidez de sus scripts y su prometedor futuro, desarrollar aplicaciones Webs utilizando lenguajes como C o COBOL son cosas del pasado.

Oferta de trabajoDemanda de trabajo: 362 ofertas

2.C#¿Qué es?C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programación de lenguajes como Visual Basic.

Page 2: manual asp net web - español

¿Por qué deberías aprenderlo?Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.

Oferta de trabajoDemanda de trabajo: 1.002 ofertas

3.AJAX¿Qué es?AJAX no es un lenguaje exactamente su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es posiblemente la mayor novedad en cuanto a programación web en estos últimos años.

El corazón de Ajax es el objeto XMLHttpRequest que nos permite realizar una conexión al servidor y al enviarle una petición y recibir la respuesta que procesaremos en nuestro código Javascript, estamos hablando del verdadero motor de Ajax, por ejemplo gracias a este objeto podemos desde una página HTML leer datos de una web o enviar datos de un formulario sin necesidad de recargar la página.

leer más

¿Por qué deberías aprenderlo?La demanda de AJAX no sólo es amplía sino que de calidad debido a la dificultad de aprendizaje que conlleva, si la herramienta de Microsoft, Atlas, destinada a la realización de aplicaciones AJAX tiene éxito puede suponee un aumento en la demanda de esta tecnología.

Oferta de trabajoDemanda de trabajo: 65 ofertas

4.JavaScript¿Qué es?Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado.

¿Por qué deberías aprenderlo?La razón de mayor peso es que es utilizado por millones de páginas webs para validar formularios, crear cookies, detectar navegadores y mejorar el diseño, su fácil aprendizaje lo hace un lenguaje muy demandado.

Oferta de trabajoDemanda de trabajo: 422 ofertas

5.Perl¿Qué es?Perl es la alternativa más popular a PHP, seguramente porque es el lenguaje más antiguo tambien dentro de las alternativas. En internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones "open source" requieren tener Perl instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya escritos.

Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la sucía apariencia de Perl es por la afición de sus desarrolladores a la escritura en "una línea" empaquetanto numerosas funcionalidades en una sola línea de código. leer más

¿Por qué deberías aprenderlo?La potencía de Perl a la hora de procesar grandes cantidades de datos lo hace realmente popular a la hora de desarrollar aplicaciones del lado del servidor, aprender Perl o Php es básico a la hora de desarrollar aplicaciones Web.

Oferta de trabajo

Page 3: manual asp net web - español

Demanda de trabajo: 82 ofertas

6.C¿Qué es?Es un lenguaje de "medio nivel" pero con numerosas características de bajo nivel.Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel.

¿Por qué deberías aprenderlo?Aprender C es básico mientras aprendes C estas aprendiendo conceptos básicos de lenguajes cómo Java o C#, además no sólo es mas sencillo que estos últimos sino que comporten gran parte de su sintaxis.

Oferta de trabajoDemanda de trabajo: 312 ofertas

7.Ruby y Ruby on Rails¿Qué es?Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby.Ruby apareció en el año 1995 y creo que su principal problema había sidola falta de documentación en otro idioma que no sea japonés. Eso se ha idosolucionando y crece la popularidad del lenguaje. Su aplicación insignia,por decirlo de algún modo parece ser RoR. Su mecanismo de gem se me pareceal CPAN de Perl y al Pear de PHP. leer más

¿Por qué deberías aprenderlo?Simple y funcional, el uso de Active Record de forma eficiente simplifica y agiliza el desarrollo de forma notable. Al minimizar el trabajo con la base de datos (escribiendo triggers y procedimientos almacenados) y emplear un único lenguaje para todo el desarrollo, se consigue acortar los tiempos de desarrollo (time2market).

Oferta de trabajoDemanda de trabajo: 5 ofertas

8.ASP¿Qué es?Active Server Pages (ASP) y ASP.NET es un intendo de Microsoft para introducirse en el mercado del desarrollo Web, y viene a ser como su estandar para su servidor Web, ISS. Asp ha sido atacado por la comunidad open source desde que este apareció, y dan numerosas razones para ello:El propietario, una única plataforma, la lentitud...

Me gustaría decir "Si, si, y si", pero no me debo dejar llevar. La realidad es que ASP ha sido implementado en otras plataformas y que cuando esta funcionando bajo su servidor predeterminado IIS es relativamente rápido. leer más

¿Por qué deberías aprenderlo?Simplemente porqué en algunas ocasiones no tienes otra opción debido a la popularidad que ha alcanzado.

Oferta de trabajoDemanda de trabajo: 557 ofertas

Seccion Programación (TuFunción)Tutorial básocp de AJAXDiferencia entre PHP ASP y otros lenguajes de programaciónFácil sistema de autentificación de usuarios (PHP)Tendencia de los lenguajes de programaciónBases de datos y PHPConsejos para escribir código Javascript

Page 4: manual asp net web - español

Perl está muriendo10 Programming Languages You Should Learn Right Now

Enlaces Relacionados Migra de Php a Perl o viceversa

Grandes webs que utilizan Php

Hola Mundo!

Zend Studio

¿Cómo ordenar datos?

CSS Color Generator

Obteniendo rutas en Php

Test de algunas funciones Php

Consejos para agilizar la carga de tu página

XML y PHP 5

Page 5: manual asp net web - español

  Primeros Pasos   Introducción   Principales herramientas Su primera página ASP.NET   Crear una nueva página ASP.NET   Construir una página "hola mundo" con ASP.NET   Ejecutar páginas con el Servidor Web incorporado   Añadir un Rich Calendar Web Control   Ejecutar páginas con el Servidor Web IIS   Usar la Galería de Controles en Línea Creando una Base de Datos   Conectarse a un Servidor de Base de Datos   Crear una nueva Base de Datos   Crear una nueva tabla   Editar datos en una tabla   Desconectarse de la Base de Datos   Conectarse a una Base de Datos existente Páginas ASP.NET con Datos   Mostrar datos con MxDataGrid   Dar formato al MxDataGrid   Usar el Data Code Builder   Dar formato al DataGrid   Plantillas y DataList   DropDownList Code Builder Servicios Web XML con ASP.NET   Crear un nuevo Servicio Web XML   WebMethod 'Subtract'   WebMethod de acceso a datos   Crear un cliente de Servicios Web Desarrollo móvil con ASP.NET   Crear una nueva página para dispositivos móviles   Añadir Mobile Controls

Page 6: manual asp net web - español

  Probar páginas para dispositivos móviles Hosting ISP/FTP   Conectarse a un proveedor de hosting   Modificar una página ASP.NET remota   Desconectarse del proveedor de hosting Ayuda y Comunidad   Archivos de plantilla   Comunidad   Búsqueda   My Snippets   Class Browser Construir una Aplicación de Punta-a-Punta   Acerca de la Aplicación   Crear la tabla 'Users'   Introducir datos del usuario   Crear una página Master/Details   Crear una página de Login   Crear un archivo Web.Config   Crear la página de Registro   Ejecutar la Aplicación Temas Avanzados   Preferencias del usuario

Primeros PasosIntroducción

Bienvenido al Tour Guiado de ASP.NET Web Matrix

El Tour Guiado de ASP.NET Web Matrix es un tutorial diseñado para familiarizar rápidamente al desarrollador con la sintaxis, la arquitectura y el poder del entorno de desarrollo de ASP.NET Web. Éste está planteado paso a paso e incluye comentarios de soporte para facilitar el seguimiento y comprensión de mismo. Así también provee diferentes ejemplos, los que están diseñados para ser cortos y fáciles de entender, ilustrando las características de Web Matrix.

A su disposición, también se encuentra un foro de discusión de ASP.NET Web Matrix (localizado en www.asp.net) para esclarecer las dudas que se tengan respecto a éste.

 

¿Qué nivel de experiencia se requiere en el Tour Guiado?

Usted debe tener conocimiento sobre la terminología HTML y desarrollo Web en general. Si bien no necesita experiencia previa en ASP.NET, debería estar familiarizado con los conceptos referentes a las páginas Web interactivas, incluyendo formularios, XML y acceso a datos.

Siguiente Paso >>

Primeros Pasos Principales Herramientas de ASP.NET Web Matrix

La siguiente pantalla muestra a ASP.NET Web Matrix en ejecución y resalta mediante un círculo rojo las distribuciones de las herramientas más importantes con la cuales usted debe familiarizarse.

Page 7: manual asp net web - español

ID Nombre Descripción

Menu Bar

El Menu Bar (Barra de Menú) de ASP.NET Web Matrix, es el área señalada en la parte superior de la ventana principal de ASP.NET Web Matrix directamente a continuación de la barra de título. El Menu Bar incluye un conjunto de títulos de menú, los cuales proveen acceso a opciones compuestas por una colección de ítems u opciones.

Los menús muestran una lista de comandos disponibles para el usuario. Estos son distintos tipos de menús, incluyendo desplegables, de acceso rápido y en cascada.

Cuando usted mueve el puntero sobre el título del menú y hace clic con el botón primario del mouse, el mismo es resaltado y la lista de opciones asociada aparece. Cuando mueve el puntero sobre la opción del menú, el menú sigue el movimiento del puntero, resaltando cada opción que es pasada por el puntero del mouse. Para seleccionar el comando asociado con la opción, mueva el puntero sobre la opción y haga clic con el botón primario del mouse. La lista de opciones se cerrará.

Usted también accede a la lista de opciones presionando la tecla ALT (o F10) que activa el Menu Bar. Cuando presiona una tecla alfanumérica, mientras mantiene presionada la tecla ALT, o después que la tecla ALT es soltada, el ASP.NET Web Matrix muestra la lista de opciones que corresponde con la tecla de acceso alfanumérica presionada. Note que la correspondencia no es sensible a mayúsculas o minúsculas.

Standard Toolbar

El Standard Toolbar (barra de herramientas estándar) de ASP.NET Web Matrix es el área que se encuentra en la parte superior de la ventana principal, directamente a continuación del Menu Bar.

Un toolbar es un panel que contiene un conjunto de controles, diseñado para proveer acceso rápido y directo a comandos u opciones específicas.

Usted puede acceder a los controles incluidos en el toolbar usando el mouse o teclas de acceso.

Page 8: manual asp net web - español

Toolbox

El Toolbox (caja de herramientas) es el área mostrada en la parte izquierda de la ventana principal de ASP.NET Web Matrix, directamente a continuación de la ventana Document (Documento). Las opciones disponibles del Toolbox cambian dependiendo de la página de diseños que se esté usando.

Un toolbox es un panel que contiene un conjunto de controles y herramientas que usted usa mientras diseña su aplicación Web. Cada conjunto de controls y herramientas es funcionalmente organizada en solapas separadas dentro del Toolbox.

Usted puede seleccionar y arrastrar opciones, texto y controles del Toolbox en formularios, páginas y diseñadores, y arrastrar opciones de ese origen, al Toolbox para ser usado después. Por ejemplo, usted puede arrastrar un control Button de la solapa HTML a una página Web, o seleccionar y arrastrar fragmentos de código de la ventana Document y almacenarlo en la solapa My Snippets.

Document Window

El Document Window (Ventana de Documento) de ASP.NET Web Matrix es el área que se encuentra enmedio de la ventana principal, entre el Toolbox y el Workspace, y Properties Window.

El Document Window se crea en forma dinámica cuando usted abre o crea un archivo. La lista de los documentos abiertos aparece en el menú Windows, con la última ventana, listada primero.

El Document Window tiene una interfaz de solapa, que le proporciona un punto de simple acceso para cuatro vistas diferentes de archivo: Design, HTML, Code y All (fusión de las solapas HTML y Code). Estas vistas (solapas) están en Document Windows y cambian dependiendo de que la página de diseño se esté usando.

Workspace Window

El Workspace Window (Espacio de Trabajo) de ASP.NET Web Matrix es el área resaltada en la parte superior derecha de la ventana principal, directamente a continuación del Properties Window.

El Workspace Window provee una organización de vistas a los archivos del sistema y a los archivos abiertos, asi como también un acceso listo a MSDE y al almacén de datos SQL.

El Workspace Window sirve para navegar y abrir archivos en ASP.NET Web Matrix. También se puede utilizar para conectarse con MSDE y SQL Server, manipular datos, y mantener tablas y procedimientos almacenados.

Properties Window 

El Properties Window (Ventana de Propiedades) de ASP.NET Web Matrix es el área que se indica en la parte inferior derecha de la ventana principal, directamente a continuación del Workspace Window.

Las propiedades definen el estado, comportamiento y apariencia de la página ASP.NET, de documentos o controles. La mayoría de los controles gráficos contienen propiedades que pueden ser cambiadas para definir su apariencia visual. Controles, documentos y páginas ASP.NET pueden exponer también propiedades que especifican cómo van a interactuar con el usuario y la información que necesitan para operar en tiempo de ejecución.

El Properties Window muestra diferentes tipos de campos de edición, dependiendo de la necesidad particular de la propiedad. Estos campos de edición incluyen cajas de edición, listas desplegables, y links a cuadros de diálogo de edición personalizados. Las propiedades mostradas grisadas son solo de lectura.

Con el Properties Window se pueden ver y cambiar las propiedades en tiempo de diseño y tambien los eventos de los objetos seleccionados que están localizados en editores y diseñadores. También es útil para ver y buscar los Assemblies .NET o acceder a la Comunidad Online para buscar ayuda.

Siguiente Paso >>

Page 9: manual asp net web - español

Su Primera Página ASP.NETCrear una nueva página ASP.NET

En esta guía usted va a crear una nueva página ASP.NET, y para ello debe seguir los siguientes pasos:

1. Abra Microsoft ASP.NET Web Matrix, y verá aparecer el cuadro de dialogo New File.

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla ASP.NET Page.

4. Escriba la ruta de archivo (path) en el cuadro Location.

5. Escriba myFirstPage.aspx en el cuadro Filename.

6. Seleccione Visual Basic en el cuadro desplegable Language.

7. Haga click en OK. Ventana de diálogo New File:

8. El archivo myFirstPage.aspx se abrirá en la vista Design y estará listo para editar.

Page 10: manual asp net web - español

Siguiente Paso >>

Su Primera Página ASP.NET Construir una página "hola mundo" ASP.NET

Con los pasos que se detallan a continuación, usted podrá crear una página simple "hola mundo" ASP.NET. Para ello tendrá que añadir a la página ASP.NET que creó en la sección anterior, tres controles de servidor básicos y luego tendrá que agregar una línea de código para poder acceder a ellos y modificarlos en el servidor.

1. De la solapa Web Controls en el Toolbox (sobre la mano izquierda de la herramienta), arrastre un control Label, un control TextBox y un control Button sobre la página ASP.NET. Entre las colocaciones de cada control, presione la tecla Enter. 

Page 11: manual asp net web - español

2. Seleccione la solapa HTML, ubicada debajo del Document Window, para ver el HTML que ASP.NET Web Matrix generó, como resultado de las tres operaciones anteriores. Usted puede modificar el contenido de la página html, usando la solapa de diseño gráfico (similar como lo hizo en el paso anterior) o directamente editando el contenido con la solapa HTML o la solapa All.

3. <html>4. <head>5. </head>6. <body>7. <form runat="server">8. <p>9. <asp:Label id="Label1" runat="server">Label10. </asp:Label>11. </p>12. <p>13. <asp:TextBox id="TextBox1" runat="server">14. </asp:TextBox>15. </p>16. <p>17. <asp:Button id="Button1" onclick="Button1_Click" runat="server"

Text="Button">18. </asp:Button>19. </p>20. </form>21. </body>22. </html>

23. Seleccione la solapa Design y haga doble clic en el control Button. ASP.NET Web Matrix automáticamente generará un método que manipula el evento ASP.NET del lado del servidor (llamado "Button1_Click"), para el evento Click del control Button. Así mismo abre la página en vista Code.

24. Añada el código que se muestra a continuación en rojo, al método Button1_Click para actualizar la propiedad Text del control Label. Esto permite que se despliegue un mensaje de bienvenida personalizado, usando el valor introducido en el TextBox:

25. Sub Button1_Click(sender As Object, e As EventArgs)26. Label1.Text = "Hello " & TextBox1.Text & " welcome to the ASP.NET Web Matrix

Project!" End Sub

Page 12: manual asp net web - español

27. Opcionalmente, seleccione la solapa All para ver todo el contenido de la página ASP.NET. Esto incluye ambas secciones de la página, html y código, y proporciona una vista conveniente que permite ver el código/contenido completo de la página:

28. <%@ Page Language="VB" %>29.30. <script runat="server">31.32. Sub Button1_Click(sender As Object, e As EventArgs)33. 34. Label1.Text = "Hello, " & TextBox1.Text & "! Welcome to the ASP.NET Web

Matrix Project"35. 36. End Sub37. 38. </script>39.40. <html>41.42. <body>43. <form runat="server">44. <p>45. <asp:Label id="Label1" runat="server">Label46. </asp:Label>47. </p>48. <p>49. <asp:TextBox id="TextBox1" runat="server">50. </asp:TextBox>51. </p>52. <p>53. <asp:Button id="Button1" onclick="Button1_Click" runat="server"

Text="Button">54. </asp:Button>55. </p>56. </form>57. </body>58. </html>

Ya terminó de construir una página simple "hello world" ASP.NET. En la siguiente sección encontrará una serie de pasos para ejecutar la página en un Servidor Web.

Siguiente Paso >>

Su Primera Página ASP.NET Ejecutar páginas con el Servidor Web incorporado

ASP.NET Web Matrix soporta múltiples opciones de Web Server deployment para alojar y probar una aplicación ASP.NET; incluyendo el ASP.NET Web Matrix Web Server, Microsoft Internet Information Server (IIS) y proveedores remotos de ISP Hosting.

Con las siguientes instrucciones, usted grabará y ejecutará la página ASP.NET que desarrolló en la sección anterior, usando el incorporado ASP.NET Web Matrix Web Server. Este simple servidor web se instala automáticamente con ASP.NET Web Matrix y no requiere ningún otro servidor web instalado en su máquina (ideal para escenarios de desarrollo rápido).

Para ejecutar su página, usando el ASP.NET Web Matrix Web Server, siga los pasos a continuación:

1. Grabe la página ASP.NET. Hay dos formas de grabar un archivo en el entorno de desarrollo de ASP.NET Web Matrix:

a. Seleccionando Save del menú File. 

Page 13: manual asp net web - español

b. Haciendo clic en el botón Save File sobre el Standard toolbar. 

2. Ejecute la página ASP.NET. Hay tres formas de ejecutar una página en el entorno de desarrollo de ASP.NET Web Matrix:

a. Seleccionando Start en el menú View. 

b. Haciendo clic en el botón Start sobre el Standard toolbar. 

c. Presionando la tecla F5. Este atajo ocasiona que la página se ejecute.

3. Seleccionando cualquiera de las formas anteriormente citadas se abrirá el cuadro de diálogo Start Web Application:

Page 14: manual asp net web - español

Hay dos opciones en el cuadro de diálogo Start Web Application:

• Use ASP.NET Web Matrix Server: Esta opción sirve para alojar la aplicación web usando el servidor web ya incorporado, que viene con ASP.NET Web Matrix. Note que el ASP.NET Web Matrix Server soporta solo peticiones browser locales, por razones de seguridad. De esta manera, usted no podrá navegar ninguna página remotamente.

• Use a new IIS Virtual Root: Esta opción permite alojar la aplicación web usando el servidor web Microsoft IIS. Note que esta opción es discutida mas adelante en el Tour Guiado.

4. Haga clic en la opción Use ASP.NET Web Matrix Server y Escriba 8080 en el cuadro Application Port.

5. Haga clic en el botón Start. 

6. El ASP.NET Web Matrix Server iniciará y aparecerá un ícono en el system tray (bandeja de sistema). 

Nota El cuadro de diálogo Start Web Application y el ícono system tray ASP.NET Web Matrix Server de notificación, aparecen la primera vez que usted ejecuta la página. En las subsecuentes ejecuciones de página, ASP.NET Web Matrix va usar el Servidor Web que ha sido especificado la primera vez que se ejecutó la página. ASP.NET Web Matrix no va preguntar por el Servidor Web nuevamente, hasta que cierre y reabra el entorno de desarrollo de ASP.NET Web Matrix y ejecute la página otra vez, o detenga manualmente y arranque el ASP.NET Web Matrix Server.

7. Dado que la página ASP.NET que desarrolló en la sección anterior no aparecerá automáticamente en una nueva

Page 15: manual asp net web - español

instancia de su Explorador Web, Escriba un nombre en el TextBox y Haga clic en el Button. El nombre aparecerá en el Label con el mensaje de bienvenida. 

8. Cierre la instancia del Servidor Web.

Siguiente Paso >>

Su Primera Página ASP.NET Añadir un Rich Calendar Web Control

A continuación, usted añadirá un control server ASP.NET más avanzado (el control Calendar) para la página que desarrolló en la sección anterior. Para hacer esto, por favor siga los pasos a continuación:

1. Abra el archivo myFirstPage.aspx.

2. Seleccione la solapa Design para ver la vista en modo diseño.

3. De la solapa Web Controls en el Toolbox, arrastre el control Calendar a la página ASP.NET, entre el control TextBox y el control Button.

Nota El control Calendar muestra un solo mes del calendario, permitiendo al usuario seleccionar fechas y moverse al siguiente o anterior mes. Este control es más avanzado porque usted puede personalizar la apariencia del control Calendar, configurando las propiedades que controlan el estilo de las diferentes partes del control, incluyendo el contenido y el formato. En tiempo de ejecución, esto emite salidas html estándar, asegurando cualquier cliente browser (IE, Netscape, Opera, etc).

Page 16: manual asp net web - español

4. Seleccione el control Calendar con su mouse.

5. Haga clic en el link Auto Format en la parte inferior de la ventana Properties (abajo, a mano izquierda de la herramienta). 

6. El cuadro de diálogo Calendar Auto Format aparecerá. Este cuadro de diálogo permite que seleccione, de un conjunto predefinido de colores, estilos de borde y otras configuraciones (referido como scheme o esquema) y aplicar éstos al control Calendar. 

Page 17: manual asp net web - español

7. Seleccione la opción Simple en el scheme ListBox. Cuando se selecciona un esquema, las configuraciones del mismo son aplicadas a las propiedades del control. Note que la vista previa del Calendar mostrará el esquema aplicado.

8. Haga clic en OK para seleccionar el esquema "Simple". 

9. Seleccione la solapa HTML para mostrar la página en vista HTML.

Nota El diseño de esquema del control Calendar es persistente, así como el conjunto de propiedades HTML configuradas. Estas propiedades se pueden actualizar manualmente en futuras personalizaciones de estilo de los controles. También se pueden intercambiar la solapa diseño, y usar la grilla para modificar individualmente esas propiedades.

<asp:Calendar id="Calendar1" runat="server" BackColor="White" Width="200px"DayNameFormat="FirstLetter" ForeColor="Black" Height="180px" Font-Size="8pt"Font-Names="Verdana" BorderColor="#999999" CellPadding="4"> <TodayDayStyle forecolor="Black" backcolor="#CCCCCC"> </TodayDayStyle> <SelectorStyle backcolor="#CCCCCC"> </SelectorStyle> <NextPrevStyle verticalalign="Bottom"> </NextPrevStyle> <DayHeaderStyle font-size="7pt" font-bold="True" backcolor="#CCCCCC"> </DayHeaderStyle> <SelectedDayStyle

Page 18: manual asp net web - español

font-bold="True" forecolor="White" backcolor="#666666"> </SelectedDayStyle> <TitleStyle font-bold="True" bordercolor="Black" backcolor="#999999"></TitleStyle> <WeekendDayStyle backcolor="#FFFFCC"> </WeekendDayStyle> <OtherMonthDayStyle forecolor="Gray"> </OtherMonthDayStyle></asp:Calendar>

10. Seleccione la solapa Design y haga doble clic en el control Button. ASP.NET Web Matrix abrirá la vista Code con el método Button1_Click. 

11. Actualice el código del método Button1_Click para que el control Label incluya la fecha seleccionada en el control Calendar:

12. Sub Button1_Click(sender As Object, e As EventArgs)13. Label1.Text = "Hello " & TextBox1.Text & " you selected: " & Calendar1.SelectedDate

End Sub

14. Guarde y ejecute la página, usando el botón start o presionando F5.

15. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web. Note que, el Calendar ahora implementará la opción de formato esquema Simple. Haga clic en una fecha sobre el Calendar, Escriba un nombre en el TextBox y haga clic en el Button. El nombre y la fecha aparecerán en el mensaje de bienvenida en el Label. 

Nota El ASP.NET Web Matrix Web Server ya se está ejecutando. Por lo tanto, el cuadro de diálogo Start Web Application no aparecerá ejecutándose. ASP.NET Web Matrix usará el Web Server que fue especificado la primera vez que se ejecutó la página. ASP.NET Web Matrix no preguntará por un específico Web Server hasta que usted cierre y reabra el entorno de desarrollo ASP.NET Web Matrix, y ejecute la página nuevamente o cierre manualmente y reinicie el Servidor Web.

16. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Page 19: manual asp net web - español

Su Primera Página ASP.NET Ejecutar páginas con el Servidor Web IIS

En esta fase, usted grabará y ejecutará la página ASP.NET que desarrolló en las secciones anteriores, usando un servidor web IIS. Note que debería tener instalado IIS en su equipo para realizar esta serie de pasos.

1. Primero cierre el ASP.NET Web Matrix Web Server. Presionando el botón derecho sobre el ícono en la bandeja de entrada ASP.NET Web Matrix Web Server (abajo, a mano derecha de su ventana de escritorio) y seleccionando Stop. 

2. Ejecute de nuevo la página ASP.NET, presionando el botón start o presionando F5 y aparecerá el cuadro de diálogo Start Web Application:

3. Haga clic en la opción Use a new IIS Vitual Root.

4. Escriba MatrixTour en la caja Application Name.

5. No seleccione el check box Enable Directory Browsing (predeterminado).

6. Haga click en Start. 

7. ASP.NET Web Matrix creará un nuevo Directorio Virtual de IIS llamado MatrixTour y su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

Note que al igual que la opción de Web deployment de ASP.NET Web Matrix, no se muestra el icono en la bandeja del sistema o notificación de mensaje, cuando una página es instalada (deployed) vía la opción IIS Web Server. Para modificar la configuración del Servidor Web, use la herramienta IIS Administration o elimine el directorio virtual que ha creado.

Importante: ASP.NET Web Matrix no preguntará para especificar un Servidor Web nuevamente hasta que usted cierre y abra de nuevo el entorno de desarrollo de ASP.NET Web Matrix, volviendo a ejecutar la página.

8. Cierre la instancia del Servidor Web.

Siguiente Paso >>

Page 20: manual asp net web - español

Su Primera Página ASP.NET Usar la Galería de Controles en Línea

ASP.NET Web Matrix incluye un puente al ASP.NET Online Server Control Gallery. La galería de controles es un directorio de controles de servidor ASP.NET que usted puede usar en sus aplicaciones. Esta galería es frecuentemente actualizada, por tanto, es aconsejable revisarla regularmente para encontrar nuevos controles que puede usar en sus aplicaciones.

Siguiendo esta serie de pasos, usted añadirá un Custom control desde el Online Component Gallery para una nueva página ASP.NET.

1. Abra ASP.NET Web Matrix y verá el cuadro de diálogo New File.

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla ASP.NET Page.

4. Escriba la ruta del archivo en el cuadro Location.

5. Escriba myFirstCustomPage.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Haga clic en OK y el archivo myFirstCustomPage.aspx se abrirá en vista Design. 

8. Haga clic en la solapa Custom Controls del Toolbox, ubicado sobre a la izquierda de la herramienta.

9. Haga clic con el botón secundario sobre el Toolbox para añadir un control personalizado. Puede agregar controles personalizados, buscando en la estación de trabajo local o en la Online Component Gallery.

Page 21: manual asp net web - español

10. Seleccione la opción Add Online Toolbox Components y aparecerá el cuadro de diálogo Component Gallery. El contenido de este cuadro de diálogo es llenado por un XML Web Service que se ejecuta en el website www.asp.net. 

11. Usted puede buscar componentes en la Online Component Gallery por Category (predeterminado) o por Keyword (palabra clave).

12. Seleccione el ítem Data & XML Controls en la lista Categories y se presentará el Data & XML Controls como resultado en la grilla.

13. Seleccione el control XMLEditGrid en la grilla de resultados y verá aparecer una descripción. El control XMLEditGrid enlaza un archivo XML con un DataGrid. 

Page 22: manual asp net web - español

14. Haga clic en Install.

15. ASP.NET Web Matrix le hará una pregunta en la caja de diálogo. Haga clic en Yes para instalar en línea el componte en el Global Assembly Cache (GAC). 

16. Luego aparecerá el XMLEditGrid en la caja de herramientas Custom Controls. Este server control fue cargado e instalado en su máquina, para permitir su uso en cualquier página ASP.NET.

17. Arrastre el control XMLEditGrid en la página ASP.NET, desde la solapa de Custom Controls en el Toolbox. 

Page 23: manual asp net web - español

18. Cree un nuevo archivo XML para enlazarlo con el XMLEditGrid:

a. Seleccione New del menú File.

b. Seleccione (General) del panel Templates.

c. Seleccione la plantilla XML File.

d. Escriba la ruta de acceso de archivo en el cuadro Location.

e. Escriba myFirstXMLFile.xml en el cuadro Filename.

Nota La extensión del archivo de la página ASP.NET es aspx. La extensión del archivo para un XML es xml.

f. Haga click en OK y el archivo myFirstXMLFile.xml se abrirá. 

Page 24: manual asp net web - español

g. Agregue un elemento XML y atributos XML para myFirstXMLFile.xml:

h. <Orders>i. <Order>j. <ID>1</ID>k. <OrderDate>4/23/2002</OrderDate>l. <CustomerName>Bob Smith</CustomerName>m. </Order>n. <Order>o. <ID>2</ID>p. <OrderDate>5/12/2002</OrderDate>q. <CustomerName>Sally Jones</CustomerName>r. </Order>s. </Orders>

t. Grabe y cierre el archivo.

2. Seleccione la solapa Design de la página ASP.NET y seleccione el control XMLEditGrid.

3. Seleccione la propiedad XMLFile en la ventana Properties.

4. Cambie la propiedad XMLFile del XMLEditGrid a myFirstXMLFile.xml. Esta propiedad liga el archivo XML con el XMLEditGrid. 

Page 25: manual asp net web - español

5. Seleccione el control XMLEditGrid.

6. Haga click en el link Auto Format, en la parte inferior de la ventana Properties. 

7. El cuadro de diálogo XMLEditGrid Auto Format aparecerá. Éste permite seleccionar un conjunto predefinido de colores, estilos de borde y otras configuraciones referidas a un esquema y aplicar éstos al control XMLEditGrid.

8. Seleccione la opción Simple 1 en la lista de esquemas y la configuración de éstos se aplicara aplicada a las propiedades del control. Note que la vista previa muestra como se verá el XMLEditGrid con el esquema aplicado.

9. Haga clic en OK. 

Page 26: manual asp net web - español

10. Guarde y ejecute la página ASP.NET.

11. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web. El XMLEditGrid muestra cada uno de los nodos Order en el archivo myFirstXMLFile.xml. 

12. Haga clic en el link Add new item.

13. Aparecerá un nuevo registro al final del XMLEditGrid.

14. Escriba 3 en la columna ID, 6/1/2002 en la columna OrderDate, y John Doe en la columna CustomerName.

15. Haga clic en el botón Save New Item. Esta operación grabará el contenido de la edición en el archivo XML

Page 27: manual asp net web - español

sobre su Servidor Web. Note que esta operación requiere permisos en el web server para escribir un archivo (si no los tiene, ocurrirá una excepción cuando presione el botón grabar). De manera predeterminada las aplicaciones ASP.NET se ejecutan bajo IIS y no tienen permisos para escribir archivos (en este caso se necesita conceder explícitamente a la cuenta "ASPNET", acceso de escritura a archivos).

16. Abra el archivo myFirstXMLFile.xml.

17. Verá un nuevo registro con OrderID de 3 en el archivo XML:

18. <?xml version="1.0" encoding="utf-8" ?>19. <Orders>20. <Order>21. <ID>1</ID>22. <OrderDate>4/23/2002</OrderDate>23. <CustomerName>Bob Smith</CustomerName>24. </Order>25. <Order>26. <ID>2</ID>27. <OrderDate>5/12/2002</OrderDate>28. <CustomerName>Sally Jones</CustomerName>29. </Order>30. <Order>31. <ID>3</ID>32. <OrderDate>6/1/2002</OrderDate>33. <CustomerName>John Doe</CustomerName>34. </Order>35. </Orders>

36. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Page 28: manual asp net web - español

Creando una Base de DatosConectarse a un Servidor de Base de Datos

ASP.NET Web Matrix simplifica el desarrollo de aplicaciones de base de datos ASP.NET, incluyendo soporte para Microsoft SQL Server y MSDE (un producto gratuito y compatible con las base de datos de SQL Server) para la administración de la misma dentro del entorno de desarrollo ASP.NET Web Matrix.

MSDE está disponible para descarga en http://asp.net/download.aspx o en cualquiera de los siguientes productos:

.NET Framework SDK

Office XP Professional

Visio 2000

Diseñado para ejecutarse en segundo plano, MSDE no tiene su propia interfaz de usuario (UI) o herramientas. La interacción con MSDE es a través del entorno de desarrollo de ASP.NET Web Matrix. En esta serie de pasos, usted se conectará a una instalación local de MSDE. Para ello.

1. Haga click en la solapa Data de la ventana Workspace.

Nota Si usted tiene componentes SQL instalados localmente, ASP.NET Web Matrix mostrará un data workspace vacío. 

Nota Si usted no tiene componentes SQL instalados localmente, ASP.NET Web Matrix mostrará mensajes de información y enlaces en los que usted puede hacer clic para descargar e instalar una copia gratuita de MSDE. Descargue e instale MSDE, si es necesario. 

2. Haga clic en el botón New Connection sobre el toolbar de la ventana Data. 

Page 29: manual asp net web - español

3. El cuadro de diálogo Connect to Database aparecerá.

4. Escriba localhost en el cuadro Server (predeterminado).

5. Haga clic en el botón de elección Windows authentication.

Nota Solo si su configuración de SQL Server requiere autentificación, haga clic en el botón SQL Server authentication y escriba una cuenta de SQL Server válida en los cuadros User name y Password.

Siguiente Paso >>

Creando una Base de DatosCrear una nueva Base de Datos

Usted puede conectarse a una base de datos existente o crear una base de datos desde ASP.NET Web Matrix.

A continuación, usted creará una nueva base de datos llamada Orders dentro de su servidor de base de datos. Para ello.

1. Complete la serie de pasos titulada Connect to a new data source.

2. Haga clic en el enlace Create a new database ubicado en la parte inferior del cuadro de diálogo Connect to Database. 

Page 30: manual asp net web - español

3. Verá aparecer el cuadro de diálogo Enter Information. Escriba Orders en el cuadro de base de datos y haga clic en OK. 

4. ASP.NET Web Matrix creará una nueva base de datos Orders. Aparecerá una vista de árbol en la ventana Workspace que contiene un nodo padre llamado localhost.Orders. Este nodo contiene dos nodos hijos: uno llamado Tables y otro llamado Stored Procedures. 

Siguiente Paso >>

Creando una Base de Datos Crear una nueva tabla

Con esta serie de pasos, usted creará una nueva tabla llamada Orders en la base de datos Orders.

1. Haga clic en el nodo Tables del árbol de la ventana Data y luego haga clic en el botón New Item en el toolbar de la ventana Data. 

Page 31: manual asp net web - español

2. Aparecerá el cuadro de diálogo Create New Table.

3. Escriba Orders en el cuadro Table Name.

4. Haga clic en el botón New de la parte Columns en el cuadro de diálogo.

5. Escriba OrderID en el cuadro Name de la parte Column Properties en el cuadro de diálogo.

6. Seleccione Int en la lista Data Type.

7. Seleccione el cuadro de verificación Required y los cuadros de verificación Primary Key y Auto-increment.

8. Haga clic en New para seguir añadiendo columnas.

9. Agregue una segunda columna en la tabla Orders llamada OrderDate con las siguientes propiedades:

• Name: OrderDate • Data Type: DateTime • Required: True (checked) • Primary Key: False (unchecked)

Page 32: manual asp net web - español

10. Agregue una tercera columna en la tabla Orders llamada CustomerName con la siguientes propiedades:

• Name: CustomerName • Data Type: VarChar • Required: True (checked) • Primary Key: False (unchecked) • Field Size: 50 (default)

11. Haga click en OK para grabar la tabla Orders en la base de datos Orders. 

12. La tabla Orders aparecerá como un nodo hijo de Tables en la ventana Data. 

13. Haga clic en el nodo Tables del árbol y luego en el botón New Item en el toolbar de la ventana Data. Agregue una segunda tabla en la base de datos Orders llamada OrderDetails.

14. Añada una columna de clave primaria para la tabla OrderDetails llamada OrderDetailID con las siguientes propiedades:

• Name: OrderDetailID • Data Type: Int

Page 33: manual asp net web - español

• Required: True (checked) • Primary Key: True (checked) • Auto-increment: True (checked)

15. Agregue una segunda columna en la tabla OrderDetails llamada OrderID con las siguientes propiedades:

• Name: OrderID • Data Type: Int • Required: True (checked) • Primary Key: False (unchecked) • Auto-increment: False (unchecked)

16. Añada una tercera columna en la tabla OrderDetails llamada ProductName con las siguientes propiedades:

• Name: ProductName • Data Type: VarChar • Required: True (checked) • Primary Key: False (unchecked) • Field Size: 50 (default)

17. Agregue una cuarta columna en la tabla OrderDetails llamada Quantity con las siguientes propiedades:

• Name: Quantity • Data Type: Int • Required: True (checked) • Primary Key: False (unchecked) • Auto-increment: False (unchecked)

18. Añada una cuarta columna en la tabla OrderDetails llamada UnitPrice con las siguientes propiedades:

• Name: UnitPrice • Data Type: Money • Required: True (checked) • Primary Key: False (unchecked)

19. Haga clic en OK para grabar la tabla OrderDetails en la base de datos Orders. 

20. La tabla OrderDetails aparecerá como nodo hijo de Tables en la ventana Data. 

Page 34: manual asp net web - español

Siguiente Paso >>

Creando una Base de Datos

Editar datos en una Tabla

En esta serie de pasos, usted añadirá datos en la tabla Orders y OrderDetails de la base de datos Orders.

1. Para editar de la tabla Orders, existen dos formas de hacerlo en el entorno de desarrollo ASP.NET Web Matrix:

a. Hacer clic en el botón Edit del toolbar en la ventana Data. 

b. Hacer doble clic en el nombre de la tabla del árbol de la ventana Data.

2. Entonces aparecerá el cuadro de diálogo Edit Table. Éste muestra un data grid que contiene los datos de la tabla. Las modificaciones que usted haga en la grilla Edit Table son hechas directamente en la base de datos.

3. Añada dos nuevos registros en la tabla Orders.

Nota Presione la tecla Enter o seleccione un registro diferente en la grilla de datos para que se

Page 35: manual asp net web - español

genere un nuevo registro en la base de datos. Nota La columna OrderID es configurada para incrementarse automáticamente, iniciando en 1 con incrementos de 1. De esta manera, cuando un nuevo registro se escriba, la base de datos automáticamente y asignará el valor siguiente para el campo auto-incremento. Nota Los valores de los campos auto – incremento son solo de lectura en el la grilla del cuadro Edit Table, y tienen un valor negativo hasta que un registro nuevo se añada a la base de datos. Nota Haciendo clic en el enlace Edit/View Table Design, que está debajo del cuadro de diálogo Edit Table, se puede ver la definición de la tabla mientras está en modo de edición. Si hay datos en la tabla, no se podrá editar la definición. 

4. Haga clic en Close.

5. Edite la tabla OrderDetails.

6. Añada de dos a cuatro registros para la tabla OrderDetails, para cada dato de la tabla Orders. 

Page 36: manual asp net web - español

7. Haga clic en Close.

Siguiente Paso >>

Creando una Base de Datos Desconectarse de la Base de Datos

Con las siguientes instrucciones, usted aprenderá a desconectarse de la base de datos que viene editando en las secciones anteriores.

1. Haga clic en la solapa Data de la ventana Workspace.

2. Haga clic en el nodo padre, llamado localhost.Orders en el árbol de la ventana Data.

3. Haga clic en el botón Close Connection del toolbar de la ventana Data. 

Nota: El botón Close Connection está deshabilitado hasta que seleccione el nodo server en el árbol de la ventana Data.

Siguiente Paso >>

Creando una Base de Datos Conectarse a una Base de Datos existente

Usted puede conectarse a una base de datos existente con el entorno de desarrollo de ASP.NET Web Matrix.

A continuación, aprenderá a conectarse a la base de datos que construyó en las secciones anteriores.

1. Haga clic en la solapa Data de la ventana Workspace.

2. Haga clic en el botón New Connection del toolbar de la ventana Data. 

Page 37: manual asp net web - español

3. Seguidamente el cuadro de diálogo Connect to Database.

4. Escriba localhost en el cuadro Server.

5. Haga clic en el botón de opción Windows authentication.

6. Haga clic en la lista Database. ASP.NET Web Matrix se conectará al origen de datos y llenará la lista Database. Seleccione la base de datos Orders.

7. Haga clic en OK. 

8. Verá un vista de árbol en la ventana Data que contiene un nodo padre llamado localhost.Orders. El nodo padre contiene dos nodos hijos: uno llamado Tables y el otro llamado Stored Procedures. 

Page 38: manual asp net web - español

Siguiente Paso >>

Páginas ASP.NET con DatosMostrar Datos con MxDataGrid

El Web Control de servidor MXDataGrid de ASP.NET está específicamente diseñado para mostrar información de orígenes de datos. Usted puede enlazar el control a un origen de datos en tiempo de diseño o en tiempo de ejecución. A pesar que puede mostrar datos de una variedad de orígenes de datos, las fuentes mas típicas son datasets y data views.

Mediante las siguientes instrucciones, usted podrá ligar el MXDataGrid con la tabla Orders de la base de datos Orders.

1. Seleccione File->New para obtener el cuadro de diálogo "New File".

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla ASP.NET Page.

4. Escriba una ruta de acceso de archivo en el cuadro Location.

5. Escriba myFirstDataGrid.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Haga click en OK. 

Page 39: manual asp net web - español

8. El archivo myFirstDataGrid.aspx se abrirá en la vista Design.

9. Escriba "Orders Listing" en la página y presione la tecla Enter para insertar un espacio en vacío.

10. Seleccione la solapa Data en la ventana Workspace.

Page 40: manual asp net web - español

11. Conéctese a la base de datos Orders que desarrolló en secciones anteriores .

12. Seleccione la tabla Orders en el nodo Tables de la vista de árbol de Data.

13. Arrastre la tabla Orders en la página ASP.NET.

14. Verá aparecer un SQLDataSourceControl y un MXDataGrid en la página ASP.NET.

Nota ASP.NET Web Matrix coloca propiedades automáticamente para el SQLDataSourceControl, basándose en la información de conexión que se especificó cuando se conectó a la base de datos.

Nota ASP.NET Web Matrix liga automáticamente el MXDataGrid con el SQLDataSourceControl. 

15. Guarde y ejecute la página ASP.NET.

16. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web. El MXDataGrid muestra todos los registros de la tabla Orders. Si tiene más de 10 registros en la base de datos, entonces el MXDataGrid activará la paginación para que soporte solo 10 registros al mismo tiempo (y agregará links de navegación para que el usuario pase de atrás hacia adelante en la tabla).

Page 41: manual asp net web - español

17. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Páginas ASP.NET con Datos Dar formato al MxDataGrid

A través de las siguientes pautas, usted podrá cambiar el formato y comportamiento del MXDataGrid.

1. Abra el archivo myFirstDataGrid.aspx en vista Design.

2. Seleccione el control MXDataGrid.

3. Seleccione la propiedad AllowPaging en la ventana Properties.

4. Ponga la propiedad AllowPaging del MXDataGrid a False. Esta propiedad, fija la funcionalidad de páginación del MXDataGrid. 

Page 42: manual asp net web - español

5. Seleccione la propiedad Fields en la ventana Properties. 

6. Aparecerá el cuadro de diálogo Collection Editor. 

Page 43: manual asp net web - español

7. Cambie la propiedad HeaderText de la columna OrderID de OrderID a ID.

8. Haga clic en OK. 

9. Guarde y ejecute la página ASP.NET.

10. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web. Note que la cabecera de la primera columna es ID y el número de página no aparecerá en la parte inferior del MXDataGrid. 

Page 44: manual asp net web - español

11. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Páginas ASP.NET con Datos Usar Data Code Builder

Los Code Builders (Constructores de código), son asistentes que generan código, los cuales ayudan a crear funciones para tareas comunes. ASP.NET Web Matrix viene con varios generadores de código, incluyendo algunos diseñados específicamente para optimizar las tareas comunes de acceso a datos utilizando ADO.NET.

En esta serie de pasos, usted usará el SELECT Code Builder para generar código necesario que retire información de la tabla OrderDetails y llene un DataGrid.

1. Seleccione File->New para obtener el cuadro de diálogo "New File".

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla ASP.NET Page.

4. Escriba una ruta de acceso de archivo en el cuadro Location.

5. Escriba myFirstDataPage.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Haga clic en OK. 

Page 45: manual asp net web - español

8. El archivo myFirstDataPage.aspx se abrirá en vista Design.

9. Desde la solapa Web Controls en el Toolbox (ubicada sobre el lado izquierdo de la herramienta), arrastre un control TextBox, un control DataGrid y un control Button a la página ASP.NET. Presione la tecla Enter entre cada asentamiento de control. 

Page 46: manual asp net web - español

10. Seleccione la solapa Code.

11. De la solapa Code Builders en el Toolbox, arrastre un SELECT Data Method Code Builder sobre la página ASP.NET. 

12. El cuadro de diálogo Connect to Database aparecerá.

13. Escriba localhost en el cuadro Server (predeterminado).

14. Haga clic en el bóton de opción Windows authentication.

15. Haga clic en la lista desplegable Database. ASP.NET Web Matrix se conectará al origen de datos y llenará la lista Database con nombres de bases de datos. Seleccione la base de datos Orders que desarrolló en las secciones anteriores.

Page 47: manual asp net web - español

16. Haga clic en OK. 

17. Verá el primer paso de Code Builder Wizard, el cual es llamado Construct SELECT Query.

18. Seleccione en la lista Tables OrderDetails.

19. Seleccione el cuadro de verificación seguido por * en la lista Columns. Esto hace que todas las columnas de la tabla sean seleccionadas.

20. Haga clic en WHERE.

21. Aparecerá el cuadro de diálogo WHERE Query Builder.

Page 48: manual asp net web - español

22. Seleccione OrderID en la lista Column.

Nota Esta opción coloca el Operador Left como parte de la sentencia WHERE.

23. Seleccione el botón de opción Filter y escriba @OrderID en el cuadro filter (predeterminado).

Nota Esta opción coloca el Operador Right como parte de la sentencia WHERE. Mas adelante pasará el valor del parámetro para la sentencia WHERE.

24. Haga clic en OK. 

25. Volverá al paso Construct SELECT Query del Code Builder Wizard.

Page 49: manual asp net web - español

26. Haga click en Next. 

27. Observará el segundo paso del Code Builder Wizard; Query Preview.

28. Haga clic en Test Query.

29. Escriba 1 en el cuadro OrderID =.

30. Haga clic en OK. 

Page 50: manual asp net web - español

31. Observará el registro OrderDetails correspondiente a OrderID = 1 en el cuadro de diálogo grilla resultante Query Preview. 

Page 51: manual asp net web - español

32. Haga clic en Next.

33. Aparecerá el tercer paso del Code Builder Wizard. Éste es el cuadro de diálogo llamado Enter A Caption. Escriba GetOrderDetails en el cuadro method name.

34. Seleccione el botón de opción DataSet (predeterminado).

35. Haga clic en Finish. 

Page 52: manual asp net web - español

36. El Wizard (asistente) se cerrará y ASP.NET Web Matrix colocará una función llamada GetOrderDetails en la vista Code. La función acepta orderID como parámetro de entrada y devuelve un DataSet como parámetro de salida. El DataSet es llenado con datos de Order Detail para un especifico orderID, usando código de acceso a datos ADO.NET, generado por el code builder:

37. Function GetOrderDetails(ByVal orderID As Integer) As System.Data.DataSet38. Dim connectionString As String = _39. "server='localhost'; trusted_connection=true; Database='Orders'"40. 41. Dim sqlConnection As System.Data.SqlClient.SqlConnection = _42. New System.Data.SqlClient.SqlConnection(connectionString)43. 44. Dim queryString As String = _45. "SELECT [OrderDetails].* " & _46. "FROM [OrderDetails] " & _47. "WHERE ([OrderDetails].[OrderID] = @OrderID)"48. 49. Dim sqlCommand As System.Data.SqlClient.SqlCommand = _50. New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)51. 52. sqlCommand.Parameters.Add("@OrderID", System.Data.SqlDbType.Int).Value =

orderID53. 54. Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = _55. New System.Data.SqlClient.SqlDataAdapter(sqlCommand)56. 57. Dim dataSet As System.Data.DataSet = New System.Data.DataSet58. 59. dataAdapter.Fill(dataSet)60. 61. Return dataSet62. End Function

63. Seleccione la solapa Design.

Page 53: manual asp net web - español

64. Haga doble clic en Button para abrir el evento Button1_Click en vista Code.

65. Añada código para revisar el valor del TextBox y pasarlo como parámetro en la función GetOrderDetails:

66. Sub Button1_Click(sender As Object, e As EventArgs)67.68. DataGrid1.DataSource = GetOrderDetails(CInt(TextBox1.Text))69. DataGrid1.DataBind()70.71. End Sub

72. Guarde y ejecute la página ASP.NET.

73. Su página ASP.NET surgirá automáticamente en una nueva instancia de su Explorador Web.

74. Escriba 1 en el TextBox y haga clic en el Button.

75. El DataGrid mostrará todos los registros en la tabla OrderDetails para el OrderID especificado. 

76. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Páginas ASP.NET con Datos Dar formato al DataGrid

En esta serie de pasos, usted podrá cambiar las opciones de formato para alterar la forma y estilo del DataGrid.

Page 54: manual asp net web - español

1. Abra el archivo myFirstDataPage.aspx en vista Design.

2. Seleccione la solapa Design.

3. Seleccione el DataGrid.

4. Haga clic en el link de Auto Format, situado debajo de la ventana Properties.

5. Se presentará el cuadro de diálogo Auto Format, el cual permite seleccionar un conjunto predefinido de colores, estilos de bordes y otras configuraciones (referidas a un esquema) y aplicar estos al control DataGrid. 

6. Seleccione la opción Simple 1 en el esquema ListBox. Cuando seleccione un esquema, las configuraciones de esquema son aplicadas a las propiedades del control. Note que la vista previa muestra como se ve el DataGrid con el esquema aplicado.

7. Haga clic en OK. 

8. Guarde y ejecute la página ASP.NET.

9. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

10. Escriba 1 en el TextBox y presione Button. Observe que el MasterGrid implementa las opciones de formato del esquema Simple 1. 

Page 55: manual asp net web - español

11. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Páginas ASP.NET con Datos Plantillas y DataList

El control de servidor DataList provee control adicional sobre el enlace a datos, a través de las plantillas definidas por el usuario. Las plantillas le permiten controlar el estilo de los objetos, encabezados, pies de página, etc.

Siguiendo los siguientes pasos a continuación, usted desarrollará un ItemTemplate que liga un Label para la columna ProductName de la tabla OrderDetails.

1. Abra el archivo myFirstDataPage.aspx en vista Design.

2. Quite el DataGrid de la página ASP.NET.

3. Desde la solapa Web Controls en el Toolbox, arrastre un control DataList sobre la página ASP.NET. Coloque el DataList en la misma posición sobre el formulario donde estaba el DataGrid. 

Page 56: manual asp net web - español

4. Haga clic con el botón secundario sobre el DataList y seleccione Edit Templates.

5. Ahora verá el cuadro de diálogo Edit Templates. 

6. Seleccione ItemTemplates de lista desplegable Select a Template to edit.

7. Seleccione ItemTemplate de la lista desplegable Template Type.

8. Escriba ProductName: en el cuadro Template Design.

9. Desde la solapa Web Controls en el Toolbox, arrastre un control Label sobre el cuadro Template Design, inmediatamente a la derecha del ProductName:. 

Page 57: manual asp net web - español

10. Seleccione el Label en el cuadro Template Design.

11. Seleccione la propiedad (DataBindings) en la ventana Properties. 

12. Notará el cuadro de diálogo DataBindings. El cuadro de diálogo DataBindings muestra una lista de propiedades para el control, y permite especificar qué origen de datos se enlazará. 

Page 58: manual asp net web - español

13. Seleccione el nodo Text en la vista de árbol Bindable Properties (predeterminado).

14. Seleccione el botón de opción Custom binding expression.

15. Escriba DataBinder.Eval(Container.DataItem, "ProductName") en el cuadro Custom binding expression. Esta expresión liga el valor de la columna OrderDetailID con la propiedad Text del control Label, para cada uno de los registros de la tabla de la base de datos.

16. Haga clic en OK.

Nota El Label tendrá cuadrados rodeándolo. Esto indica que el control está enlazado a datos.

17. Haga clic en OK para cerrar el cuadro de diálogo Edit Templates.

Page 59: manual asp net web - español

18. Seleccione la solapa Code.

19. Modifique el código del evento Click de Button para que éste llene el DataList con el resultado de la llamada a la función GetOrderDetails:

20. Sub Button1_Click(sender As Object, e As EventArgs)21.22. DataList1.DataSource = GetOrderDetails(CInt(TextBox1.Text))23. DataList1.DataBind()24.

End Sub

25. Seleccione la solapa HMTL.

26. Añada atributos a la etiqueta DataList HTML para darle un borde negro:

27. <asp:DataList id="DataList1" runat="server"28. BorderColor="Black" BorderStyle="Solid" BorderWidth="2">29. </asp:datalist>

30. Guarde y ejecute la página ASP.NET.

31. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

32. Escriba 1 en el TextBox y presione Button.

33. El DataList mostrará todas las columnas de la tabla OrderDetails del OrderID especificado. 

34. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Page 60: manual asp net web - español

Páginas ASP.NET con Datos DropDownList Code Builder

En esta serie de pasos, usted desarrollará un SELECT Code Builder que llene un DropDownList con OrderIDs de la tabla Orders. Cuando un ítem order (pedido) es seleccionado del dropdownlist, el Datalist va ser filtrado con el dato de OrderDetails apropiado.

1. Abra el archivo myFirstDataPage.aspx en vista Design.

2. Quite el TextBox de la página ASP.NET.

3. Quite el Button del la página ASP.NET.

4. De la solapa Web Controls en el Toolbox, arrastre un control DropDownList en la página ASP.NET. Coloque el DropDownList en la misma posición donde se encontraba el TextBox borrado. 

5. Coloque la propiedad AutoPostBack del DropDownList a True (verdadero), usando la grilla de propiedades ubicada a la derecha, en la herramienta.

6. Seleccione la solapa Code.

7. Quite el código del evento Button1_Click.

8. Desde la solapa Code Builders en el Toolbox, arrastre un SELECT Data Method Code Builder en la parte inferior de la página ASP.NET.

Page 61: manual asp net web - español

9. El cuadro de diálogo Connect to Database aparecerá.

10. Escriba localhost en el cuadro Server (predeterminado).

11. Haga clic en la lista desplegable Database. ASP.NET Web Matrix se conectará con el origen de datos y llenará la lista desplegable Database con nombres de bases de datos. Seleccione la base de datos Orders que desarrolló en secciones anteriores.

12. Haga clic en OK.

13. Aparecerá el paso uno del Code Builder Wizard; éste es llamado cuadro de diálogo Construct SELECT Query.

14. Seleccione Orders en la lista Tables.

15. Seleccione el cuadro de verificación seguido por el ítem OrderID en la lista Columns.

16. Haga clic en Next. 

17. Aparecerá el paso dos del Code Builder Wizard; este es llamado cuadro de diálogo Query Preview.

18. Haga clic en Test Query.

19. Notará la presencia de los registros Orders en el cuadro de diálogo con la grilla resultado Query Preview. 

Page 62: manual asp net web - español

20. Haga clic en Next.

21. Aparecerá el Code Builder Wizard. Escriba GetOrders en el cuadro method name.

22. Seleccione el botón de opción DataSet (predeterminado).

23. Haga clic en Finish.

Page 63: manual asp net web - español

24. El Wizard se cerrará y ASP.NET Web Matrix colocará la función llamada GetOrders en la vista Code. La función no acepta parámetros de entrada y devuelve un DataSet como un parámetro de salida. El DataSet es llenado con todos los OrderIDs de la tabla Orders:

25. Function GetOrders() As System.Data.DataSet26. Dim connectionString As String = _27. "server='localhost'; trusted_connection=true; Database='Orders'"28. 29. Dim sqlConnection As System.Data.SqlClient.SqlConnection = _30. New System.Data.SqlClient.SqlConnection(connectionString)31. 32. Dim queryString As String = "SELECT [Orders].[OrderID] FROM [Orders]"33. 34. Dim sqlCommand As System.Data.SqlClient.SqlCommand = _35. New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)36. 37. Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = _38. New System.Data.SqlClient.SqlDataAdapter(sqlCommand)39. 40. Dim dataSet As System.Data.DataSet = New System.Data.DataSet41. 42. dataAdapter.Fill(dataSet)43. 44. Return dataSet45. End Function

46. Seleccione la solapa Code.

47. Añada un método que manipule el evento Page_Load y llene el DropDownList con el resultado de la llamada a la función GetOrders sobre la visita inicial (no postback) de la página ASP.NET:

48. Sub Page_Load(Sender As Object, E As EventArgs)49.50. If Not Page.IsPostBack Then51. DropDownList1.DataTextField = "OrderID"

Page 64: manual asp net web - español

52. DropDownList1.DataSource = GetOrders()53. DropDownList1.DataBind()54. End If 55. 56. End Sub

57. Seleccione la solapa Design.

58. Haga doble clic sobre el control de servidor Dropdownlist para crear un manejo de evento SelectedIndexChanged.

59. Agregue código en el evento del DropDownList SelectedIndexChanged, que liga el DataList, para el OrderID dentro del DropDownList:

60. Sub DropDownList1_SelectedIndexChanged(sender As Object, e As EventArgs)61.62. DataList1.DataSource =

GetOrderDetails(DropDownList1.Items(DropDownList1.SelectedIndex).Text)63. DataList1.DataBind()64.65. End Sub

66. Guarde y ejecute la página ASP.NET.

67. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

68. Seleccione 1 en el DropDownList.

69. El DataList mostrará todos los registros del la tabla OrderDetails para el OrderID especificado. 

70. Cierre la instancia de su Explorador Web.

Next Step >>

Page 65: manual asp net web - español

Servicios Web XMLCrear un nuevo Servicio Web XML

La industria informatica está convergiendo en un nuevo modelo para la construcción de software. Este modelo habilita una forma estándar de conectar aplicaciones e intercambiar información utilizando Internet. La nueva metodología de integración basada en Internet, llamada Servicios Web XML, habilita las aplicaciones, máquinas y procesos de negocio para trabajar conjuntamente en una forma nunca antes posible.

A continuación, usted aprenderá a crear un Servicio Web XML con ASP.NET.

1. Abra Microsoft ASP.NET Web Matrix y verá el cuadro de diálogo New File.

2. Seleccione (General) de la panel Templates.

3. Seleccione la plantilla XML Web Service.

4. Escriba la ruta de acceso del archivo en el cuadro Location.

5. Escriba myFirstWebService.asmx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Escriba Sample en el cuadro Class.

8. Escriba MatrixDemo en el cuadro Namespace.

9. Haga click en OK. El archivo myFirstWebService.asmx se abrirá en vista Code. 

Siguiente Paso >>

Page 66: manual asp net web - español

Servicios Web XML WebMethod 'Subtract'

Con las siguientes instrucciones, usted creará un nuevo WebMethod que devuelva un tipo simple; en este caso un Integer representando la diferencia de dos números.

1. Abra el archivo myFirstWebService.asmx en vista Code.

2. Añada código al WebMethod llamado Subtract. La función tiene dos parámetros de entrada y uno de salida, que contiene la diferencia de los dos primeros. Todos son del tipo Integer:

3. <WebMethod> Public Function Subtract(a As Integer, b As Integer) As Integer 4. Return a - b5. End Function

6. Guarde y ejecute el Servicio Web XML (presione el botón start o presione F5 para ejecutarlo).

7. Aparecerá una página generada automáticamente, describiendo su Servicio Web XML en una nueva instancia de su Explorador Web.

8. Aparecerá el archivo de descripción HTML del Servicio Web XML, conteniendo el método Subtract. 

9. Haga clic en el enlace Subtract, situado en la parte superior del archivo de descripción HTML. Esto traerá una página con detalles del método web Subtract, incluyendo un esquema de detalles acerca de la carga de SOAP (el cual es usado para invocar este método web) y un formulario HTML para invocar y probar el método.

Page 67: manual asp net web - español

10. Introduzca 8 en cuadro del parámetro a.

11. Introduzca 3 en el cuadro del parámetro b.

12. Haga clic en Invoke. 

13. El Servicio Web regresará una respuesta XML que da la diferencia entre los dos parámetros de entrada en una nueva instancia de su Explorador Web.

Page 68: manual asp net web - español

14. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Servicios Web XML WebMethod de acceso a datos

En esta sección, usted creará un WebMethod que devuelva un tipo complejo, en este caso un DataSet representando registros de la tabla Orders.

1. Abra el archivo myFirstWebService.asmx en vista Code.

2. Desde la solapa Code Builders en el Toolbox, arrastre un SELECT Data Method Code Builder en la página del Servicio Web XML.

3. El cuadro de diálogo Connect to Database aparecerá.

4. Escriba localhost en el cuadro Server (predeterminado).

5. Haga clic en la lista desplegable Database. ASP.NET Web Matrix se conectará al origen de datos y llenará la lista Database con nombres de bases de datos. Seleccione la base de datos Orders que creó en las secciones anteriores.

6. Haga clic en OK.

Page 69: manual asp net web - español

7. Aparecerá el paso uno Code Builder Wizard, el cual es llamado cuadro de diálogo Construct SELECT Query.

8. Seleccione Orders en la lista Tables.

9. Seleccione el cuadro de verificación seguido por el item * en la lista Columns.

10. Haga click en Next. 

11. Observará el paso dos del Code Builder Wizard; esto es llamado cuadro de diálogo Query Preview.

12. Haga clic en Test Query.

13. Verá aparecer los registros Orders en el cuadro de diálogo Query Preview en la grilla resultado. 

Page 70: manual asp net web - español

14. Haga clic en Next.

15. Distinguira el tercer paso del Code Builder Wizard; esto es llamado cuadro de diálogo Enter A Caption. Escriba GetOrders en el cuadro method name.

16. Seleccione el botón de opción DataSet (predeterminado).

17. Haga clic en Finish.

Page 71: manual asp net web - español

18. El Wizard se cerrará y ASP.NET Web Matrix colocará la función llamada GetOrders en vista Code. La función no tiene parámetros de entrada y devuelve un DataSet como un parámetro de salida. El DataSet es llenado con todos los pedidos de la tabla Orders.

19. Añada el atributo WebMethod a la función GetOrders. El WebMethod no tiene parámetros de entrada y devuelve un DataSet como parámetro de salida. El DataSet es llenado con todos los registros de la tabla Orders:

20. <WebMethod> Function GetOrders() As System.Data.DataSet21. Dim connectionString As String = _22. "server='localhost'; trusted_connection=true; Database='Orders'"23. 24. Dim sqlConnection As System.Data.SqlClient.SqlConnection = _25. New System.Data.SqlClient.SqlConnection(connectionString)26. 27. Dim queryString As String = "SELECT [Orders].* FROM [Orders]"28. Dim sqlCommand As System.Data.SqlClient.SqlCommand = _29. New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)30. 31. Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = _32. New System.Data.SqlClient.SqlDataAdapter(sqlCommand)33. 34. Dim dataSet As System.Data.DataSet = _35. New System.Data.DataSet36. 37. dataAdapter.Fill(dataSet)38. 39. Return dataSet40. End Function

41. Guarde y ejecute la página Servicios Web XML.

Page 72: manual asp net web - español

42. Su página de Servicio Web XML aparecerá automáticamente en una nueva instancia de su Explorador Web.

43. Verá la página HTML de descripción del Servicio Web XML. Esta muestra todo los servicios soportados por Servicio Web XML en particular. 

44. Haga clic en el link GetOrders situado arriba, en el archivo HTML de descripción.

45. Haga clic en Invoke. 

Page 73: manual asp net web - español

46. El Servicio Web devolverá una respuesta XML que muestra todas las columnas en la tabla Orders en una nueva instancia de su Explorador Web.

Page 74: manual asp net web - español

47. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Servicios Web XML Crear un cliente de Servicios Web

En esta serie de pasos, usted generará una clase proxy (o cliente) de Servicio Web XML y la usará desde una página ASP.NET para llamar el Servicio Web XML que desarrolló en la fase anterior. Este Servicio Web XML podría estar en cualquier servidor remoto, proporcionando una poderosa forma de distribuir código y datos a través de la red.

1. Abra Microsoft ASP.NET Web Matrix y aparecerá el cuadro de diálogo New File.

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla ASP.NET Page.

4. Escriba la ruta de acceso del archivo en el cuadro Location.

5. Escriba myFirstWSClient.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Haga clic en OK. El archivo myFirstWSClient.aspx se abrirá en vista Design. 

Page 75: manual asp net web - español

8. Desde la solapa Web Controls en el Toolbox, arrastre un DataGrid y un control Button sobre la página ASP.NET. Presione la tecla Enter entre los asentamientos de cada control. 

9. Seleccione la solapa Code.

Page 76: manual asp net web - español

10. Seleccione el ítem WebService Proxy Generator del menú Tools.

11. Observará el cuadro de diálogo XML Web Service Proxy Generator.

12. Escriba todo el nombre en el cuadro WSDL URL del URL habilitado por el Web service que desarrolló anteriormente en esta sección. Por ejemplo: http://localhost:8080/myFirstWebService.asmx

Nota WSDL es la sigla por Web Services Description Language. WSDL define cómo un Servicio Web XML se comporta e instruye al cliente comó interactuar con el servicio. Usted puede acceder al WSDL para el Servicio Web, añadiendo una cadena de consulta parametrizada para el URL del Servicio Web. Por ejemplo: http://localhost:8080/myFirstWebService.asmx?WSDL

13. Escriba MatrixDemo en el cuadro Namespace.

14. Seleccione Visual Basic .NET en la lista desplegable Language.

15. Escriba una ruta de acceso de archivo en el cuadro Output Directory.

Importante ASP.NET Web Matrix requiere que el archivo proxy se encuentre en el mismo path (ruta de acceso) que la página ASP.NET.

16. Acepte el valor predeterminado para el Source File y para el cuadro Generate Assembly.

17. Haga clic en Generate. 

18. Verá un cuadro de mensaje confirmando la generación del proxy para el Servicio Web.

19. Haga clic en OK. 

Page 77: manual asp net web - español

20. Haga clic en Cancel para cerrar el cuadro de diálogo XML Web Service Proxy Generator.

21. Seleccione la solapa Design y haga doble clic en el control Button. ASP.NET Web Matrix generará automáticamente un manejo de evento para el evento Click del control Button y abrirá la página en vista Code.

22. Añada código para el evento Button1_Click, a fin de llamar el objeto Web Service Proxy para generar y ligar el resultado de la llamada del WebMethod GetOrders para el DataGrid:

23. Sub Button1_Click(sender As Object, e As EventArgs)24.25. 'Declaration format: Dim variablename As New Namespace.Class26. Dim wsProxy As New MatrixDemo.Sample()27. 28. DataGrid1.DataSource = wsProxy.GetOrders()29. DataGrid1.DataBind()30.

End Sub

31. Guarde y ejecute la página ASP.NET.

32. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

33. Haga click en Button.

34. El DataGrid mostrará todos los registros de la tabla Orders. 

35. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Page 78: manual asp net web - español

Desarrollo móvil con ASP.NETCrear una nueva página para dispositivos móviles

Usted puede usar Mobile pages para crear páginas Web programables, que sirvan de interfaz de usuario para sus aplicaciones móviles. Una Mobile page presenta información para el usuario sobre dispositivos como teléfonos móviles y PDAs, además de implementar aplicaciones lógicas usando código del lado del servidor.

Esta serie de pasos requiere el ASP.NET Mobile Internet Toolkit (MMIT) 1.0. Si es necesario, descargue e instale el MMIT desde http://asp.net/download.aspx.

A continuación, los pasos para crear una nueva Mobile page.

1. Abra Microsoft ASP.NET Web Matrix y verá el cuadro de diálogo New File.

2. Seleccione Mobile Pages del panel Templates.

3. Seleccione la plantilla Simple Mobile Page.

4. Escriba la ruta del archivo en el cuadro Location.

5. Escriba myFirstMobilePage.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista Language.

7. Haga click en OK. El archivo myFirstMobilePage.aspx se abrirá en vista Design. 

Siguiente Paso >>

Desarrollo móvil con ASP.NET Crear una nueva página para dispositivos móviles

Con las siguientes instrucciones, usted añadirá un control de servidor ObjectList para la Mobile page que desarrolló en la serie de pasos anteriores. Para ello:

1. Desde la solapa Mobile Controls en el Toolbox, arrastre un control ObjectList en la Mobile page dentro del

Page 79: manual asp net web - español

formulario llamado Form1.

2. Coloque la propiedad ID para el ObjectList a OrderList.

3. Seleccione la solapa Code.

4. Desde la solapa Code Builders en el Toolbox, arrastre un SELECT Data Method Code Builder sobre la parte inferior de la página ASP.NET.

5. Verá el cuadro de diálogo Connect to Database.

6. Escriba localhost en el cuadro Server (predeterminado).

7. Haga clic en la lista Database. ASP.NET Web Matrix se conectará al origen de datos y llenará la lista Database con nombres de bases de datos. Seleccione la base de datos Orders.

8. Haga clic en OK.

9. Advertirá entonces el paso uno del Code Builder Wizard; esto es llamado cuadro de diálogo Construct SELECT Query.

10. Seleccione Orders en la lista Tables.

11. Seleccione el cuadro de verificación seguido por el ítem * de la lista Columns.

Page 80: manual asp net web - español

12. Haga clic en Next.

13. Verá el paso dos del Code Builder Wizard; esto es llamado cuadro de diálogo Query Preview.

14. Haga clic en Test Query.

15. Verá aparecer los registros Orders en el cuadro de diálogo Query Preview de la grilla de resultados.

16. Haga clic en Next.

17. Seguidamente observará el paso tres del Code Builder Wizard. Escriba GetOrders en el cuadro method name.

18. Seleccione el botón de opción DataSet (predeterminado).

19. Haga clic en Finish.

20. El Wizard se cerrará y ASP.NET Web Matrix colocará la función llamada GetOrders en vista Code. Ésta función no tiene parámetros y devuelve un DataSet como parámetro de salida. El DataSet es llenado con todos los OrderIDs de la tabla Orders:

21. Function GetOrders() As System.Data.DataSet22. Dim connectionString As String = _23. "server='localhost'; trusted_connection=true; Database='Orders'"24. 25. Dim sqlConnection As System.Data.SqlClient.SqlConnection = _26. New System.Data.SqlClient.SqlConnection(connectionString)27. 28. Dim queryString As String = "SELECT [Orders].* FROM [Orders]"29. 30. Dim sqlCommand As System.Data.SqlClient.SqlCommand = _31. New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)32. 33. Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = _34. New System.Data.SqlClient.SqlDataAdapter(sqlCommand)35. 36. Dim dataSet As System.Data.DataSet = New System.Data.DataSet37. 38. dataAdapter.Fill(dataSet)39. 40. Return dataSet41. End Function

42. Añada código para el evento Page_Load que liga el ObjectList con el resultado de la llamada de la función GetOrders:

43. Sub Page_Load(Sender As Object, E As EventArgs)44.45. OrderList.DataSource = GetOrders()46. OrderList.DataBind() 47.48. End Sub

49. Haga clic en el botón Start o presione F5 para ejecutar la página. Esto probará la página con el Explorador Web cliente. 

50. Haga clic sobre un enlace OrderID para ver los detalles de la tabla Orders. 

Page 81: manual asp net web - español

51. Alternativamente, podrá probar la página contra un emulador de dispositivo móvil o con un emulador de teléfono celular o PDA. Esta página ajustará automáticamente el lenguage de marcado (por ejemplo: tener como salida WML para dispositivos WAP).

52. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Desarrollo móvil con ASP.NET Probar páginas para dispositivos móviles

Los emuladores en línea proporcionan una representación exacta de la experiencia del usuario móvil, con la vista de una variedad de dispositivos portátiles.

En esta serie de pasos, usted probará la página myFirstMobilePage.aspx usando la tecnología de emulación en línea ofrecida por SmartPhone. Note que este emulador requiere IIS para servir su Mobile page en lugar de ASP.NET Web Matrix Web Server.

1. Abra el archivo myFirstMobilePage.aspx.

2. Inicie el emulador en línea. 

Page 82: manual asp net web - español

3. Presione el enlace GoURL.

4. Escriba el URL para myFirstMobilePage que implementó para el IIS anteriormente. 

5. Su Mobile page aparecerá en la ventana del emulador del dispositivo. 

Page 83: manual asp net web - español

6. Para ver los detalles de la tabla Orders, haga clic sobre un enlace de OrderID en la ventana del emulador del dispositivo.

Nota Haga clic sobre los botones del emulador del dispositivo para desplazarse a través de los detalles de pedidos. 

7. Cierre la instancia del emulador en línea.

Siguiente Paso >>

Page 84: manual asp net web - español

Hosting ISP/FTPConectarse a un proveedor de hosting

ASP.NET Web Matrix proporciona acceso remoto para los archivos de las instancias de las aplicaciones Web, vía el File Transport Protocol (FTP). Usted puede abrir, editar y publicar archivos remotos desde el ASP.NET Web Matrix.

Con los siguientes pasos, usted añadirá una nueva conexión FTP, y de esta manera podrá Modificar una página ASP.NET remota en un servidor Web..

1. Seleccione Add FTP Connection del menú Workspace. 

2.

3. Aparecerá el cuadro de diálogo New FTP Connection.

4. Escriba un sitio FTP en el cuadro FTP Site.

5. Escriba un puerto FTP en el cuadro Port. El puerto predeterminado es 21.

6. Escriba el nombre de usuario del sitio FTP en el cuadro User Name.

7. Escriba la contraseña del sitio FTP en el cuadro Password.

8. Escriba un URL válido de un sitio Web en el cuadro Web URL. Este podría ser el URL de la dirección de localización del Servidor Web remoto y será usado por ASP.NET Web Matrix para resolver la ejecución de la página.

9. Haga clic en OK. 

10. Observará un nuevo nodo en la solapa Workspace de la ventana Workspace, que representa al directorio raíz del URL especificado en el cuadro de diálogo New FTP Connection. Cualquier nodo

Page 85: manual asp net web - español

hijo representa una sub carpeta fuera del directorio raíz.

Siguiente Paso >>

Hosting ISP/FTP Modificar una página ASP.NET remota

En esta serie de pasos, usted modificará una página ASP.NET alojada en un servidor remoto, por medio de la conexión FTP que usted estableció en la sección anterior.

1. En la ventana Workspace, arrastre el archivo myFirstPage.aspx (que desarrolló en la sección Su Primera Página ASP.NET) desde el directorio donde se encuentra localizado, y suéltelo en el FTP Workspace. Esto copiará los archivos al sitio FTP proveedor de hosting. 

2. Haga doble clic en el archivo myFirstPage.aspx en el FTP Workspace para abrir la vista Design.

3. Ejecute la página apretando el botón Start, o presionando F5. Esto abrirá automáticamente en su Explorador Web la página myFirstPage.aspx alojada remotamente. 

Page 86: manual asp net web - español

4. Vuelva a ASP.NET Web Matrix y seleccione la solapa HTML.

5. Añada un atributo a la etiqueta <body> para poner el color de fondo en Rojo:

6. <body bgcolor="Red">

7. Guarde la página ASP.NET.

8. Ejecute la página nuevamente pulsando el botón Start o presionando F5. Verá que la página remota ahora tiene un fondo rojo. 

Page 87: manual asp net web - español

9. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Hosting ISP/FTPDesconectarse del proveedor de hosting

A continuación, usted aprenderá a desconectarse del proveedor de hosting basado en la conexión FTP que estableció en la secuencia de pasos anteriores.

1. Haga clic con el botón secundario en el nodo raíz del sitio de hosting FTP en la ventana Workspace.

2. Seleccione Delete. 

Page 88: manual asp net web - español

Siguiente Paso >>

Ayuda y ComunidadArchivos de plantilla

ASP.NET Web Matrix proporciona varias plantillas de archivos que usted puede usar iniciar del desarrollo de sus aplicaciones Web ASP.NET. Una plantilla de archivo crea el archivo inicial, referencias, código de marco de trabajo, configuraciones de propiedades y tareas apropiadas para la tarea seleccionada.

Cuando usted crea un nuevo archivo, los íconos en el cuadro de diálogo New File representan las tareas disponibles. Por ejemplo, los siguientes son los File Templates para la categoría (General): 

La plantilla de archivo que está asociada con el ícono que usted seleccionó, determina el tipo de salida y otras opciones disponibles para el proyecto. Cuando usted selecciona una plantilla de archivo, una breve descripción del ítem aparecerá debajo del marco Templates.

Page 89: manual asp net web - español

Nota Este Tour Guiado utiliza solo un pequeño subconjunto de las plantillas de archivo disponibles, que están incluidas en las páginas ASP.NET Page (vea Crear un nueva página ASP.NET), el XML Web Service (vea Crear un nuevo Servicio Web XML), el Simple Mobile Page (vea Crear un nueva página para dispositivos móviles) y el Master-Details Grid Data Report (vea Crear una página Default bajo la sección Construir una aplicación simple).

Las plantillas de archivos ASP.NET Web Matrix están agrupadas en seis categorías:

General: usadas para un propósito general como desarrollo de páginas ASP.NET, Servicios Web XML, archivos HTML, archivos reutilizables de clases, hojas de estilo en cascada y archivos XML.

Data Pages: usadas para consultar y manipular datos de una base de datos en DataGrids.

Mobile Pages: usadas para un propósito general de desarrollo de aplicaciones que tengan como objetivo los dispositivos móviles, por ejemplo los teléfonos móviles.

Output Caching: usadas para mejorar el rendimiento de las páginas ASP.NET, mediante el caching (mantener en memoria) de peticiones para una página en particular. De esta manera, el código que inicia la página, no se tendrá que ejecutar en las subsiguientes peticiones.

Security: usadas para construir páginas de inicio (login) y cierre de sesión (logout) para una aplicación que requiere Forms Based Authentication (autentificación basada en formas).

Web Services: usadas para escribir un Servicio Web XML service que puede ser utilizado por otros Servicios Web o por aplicaciones en la red.

Siguiente Paso >>

Ayuda y Comunidad Comunidad

Community es su punto de partida para comunicarse en línea con colegas y expertos, para obtener información acerca de ASP.NET, otros productos de Microsoft y tecnologías, y para servicios de foros abiertos.

Usted puede acceder a Community directamente desde el entorno de desarrollo de ASP.NET Web Matrix con la selección de la solapa Community. La solapa Community está localizada abajo, en la esquina derecha del entorno de desarrollo de ASP.NET Web Matrix.

1. Haga clic en el botón ASP.NET Web Matrix Online and Discussion Forums (predeterminado).

2. Observará la ventana Community, actualizada con los recursos que son específicos de ASP.NET Web Matrix. 

Page 90: manual asp net web - español

3. Haga clic en el botón Related Links.

4. Aparecerá la ventana Community, actualizada con los recursos en línea relativos a ASP.NET y otras tecnologías .NET. 

5. Haga clic en el botón Contacts.

6. Verá la ventana Community actualizada con los contactos presentes en su grupo My ASP.NET Contacts en Windows Messenger. 

Page 91: manual asp net web - español

Siguiente Paso >>

Ayuda y Comunidad Búsqueda

En la comunidad en línea de Microsoft, usted puede encontrar respuestas a preguntas ASP.NET dentro del entorno de desarrollo de ASP.NET Web Matrix.

1. Escriba XML Web Service en el cuadro Type keywords to search online help sobre el toolbar Standard.

2. Presione la tecla Enter. 

3. Observará los resultados de la búsqueda en una nueva instancia de su Explorador Web.

Nota la petición de búsqueda iniciada desde el entorno de desarrollo de ASP.NET Web Matrix es elaborada en el espacio de Forums, dentro del sitio Web www.asp.net.

Page 92: manual asp net web - español

Siguiente Paso >>

Ayuda y Comunidad Class Browser

El ASP.NET Web Matrix Class Browser le permite examinar y descubrir clases y sus miembros (propiedades, métodos, eventos, variables, constantes, elementos numerados, etc.). El entorno de múltiples ventanas hace fácil la agrupación, búsqueda y ordenamiento de las clases. La herramienta también provee enlaces a recursos de ayuda en línea y local para cada miembro de la clase.

1. Seleccione el grupo de programa Microsoft ASP.NET Web Matrix del Menú Inicio.

2. Seleccione ClassBrowser.

3. Aparecerá el ASP.NET Web Matrix Class Browser. El ASP.NET Web Matrix Class Browser contiene tres áreas funcionales:

• Toolbar (1): contiene atajos para búsqueda, ordenamiento y agrupamiento de funciones. • Classes Treeview (2): muestra las clases como nodos padre y tiene como nodos hijos a los miembros. • Member Information Window (3): muestra información detallada para un ítem seleccionado en el Classes Treeview, incluyendo enlaces a recursos en línea y de ayuda local. 

Page 93: manual asp net web - español

4. Expanda el nodo System.Data en el Classes Treeview.

5. Haga doble clic en el nodo DataSet.

6. Verá el Member Information Window, el cual tiene tres áreas funcionales:

• Member Treeview (4): Muestra el miembro como nodo padre y los Campos, Constructores, Propiedades y Eventos como nodos hijos. • Member Information Tab (5): Muestra los miembros Namespace, Assembly, Jerarquía y detalles de Atributo. También muestra enlaces para recursos de ayuda local y en línea para los miembros. • Member IL Tab (6): Muestra el Intermediate Language (IL) detallado por miembro. IL son metadatos que describen los elementos a el compilador. Cuando el código es ejecutado, el runtime carga metadatos en la memoria y lo referenca para descubrir información del código acerca de clases, miembros, herencia, etc. 

Page 94: manual asp net web - español

Siguiente Paso >>

Construir una Aplicación de Punta-a-PuntaAcerca de la Aplicación

En esta sección de inicio rápido, usted hará un paseo a través de la creación, de principio a fin, de una aplicación Web ASP.NET. El escenario de la aplicación será la construcción de una simple página de reporte que ofrece información de pedidos a los clientes.

La aplicación restringe el acceso a la información de datos del reporte, y por tanto solo le permite a los usuarios poder verla. Las credenciales de autorización "username y password" (nombre de usuario y clave) son almacenadas dentro de la base de datos "Users" , lo que significa que los clientes no necesitan tener una cuenta de Windows para ingresar.

La aplicación ASP.NET será configurada para el uso de autorización basada en formularios Html, lo cual permite crear un atractivo formulario html para que los usuarios lo usen cuando introduzcan su nombre de usuario y contraseña. Esto provee un mecanismo ideal de seguridad para construir aplicaciones Web en Internet.

A pesar que este escenario de aplicación es simple (como una página master/details de reporte básica), el código de la aplicación por si misma podría servir para utilizarla como plantilla y añadir autentificación segura a través de Internet, para cualquier aplicación Web que quiera construir.

Siguiente Paso >>

Page 95: manual asp net web - español

Construir una Aplicación de Punta-a-Punta Crear la tabla 'Users'

Esta sección del Tour Guiado lo llevará por un paseo a través de la creación, de principio a fin, de una aplicación Web ASP.NET. El escenario de la aplicación será la construcción de ofertas de pedido que reporten servicios para los usuarios registrados.

En esta serie de pasos, usted va crear una nueva tabla de base de datos llamada Users en la base de datos Orders. Usaremos esta tabla para almacenar los username/password de clientes registrados. Para habilitar la entrada a los usuarios, se usará el sistema incorporado ASP.NET Forms Authentication (autenticación por medio de formas ASP.NET).

1. Conéctese a la base de datos Orders creada en las anteriores secciones del Tour Guiado.

2. Haga clic en el nodo Tables en la vista de árbol de la ventana Data y haga clic en el botón New Item sobre el toolbar de la ventana Data.

3. Aparecerá el cuadro de diálogo Create New Table.

4. Escriba Users en el cuadro Table Name.

5. Haga clic en el botón New en el área Columns del cuadro de diálogo.

6. Escriba UserID en el cuadro Name en el área Column Properties del cuadro de diálogo.

7. Seleccione Int en la lista Data Type.

8. Seleccione el cuadro de verificación Required y luego seleccione los cuadros de verificación Primary Key y Auto-increment.

9. Haga clic en New para continuar añadiendo columnas.

10. Agregue la segunda columna para la tabla Users llamada UserName con las siguientes propiedades:

Page 96: manual asp net web - español

. Name: UserName

. Data Type: VarChar

. Required: True (checked)

. Primary Key: False (unchecked)

. Field Size: 8

11. Añada una tercera columna para la tabla Users llamada UserPassword con las siguientes propiedades:

. Name: UserPassword

. Data Type: VarChar

. Required: True (checked)

. Primary Key: False (unchecked)

. Field Size: 25

12. Haga clic en OK para grabar la tabla Users para la base de datos Orders. 

13. La tabla Users aparece como un el nodo hijo Tables en la ventana Data. 

Siguiente Paso >>

Construir una Aplicación de Punta-a-Punta Introducir datos del usuario

Con los siguientes pasos, usted añadirá datos en la tabla Users de la base de datos Orders.

1. Edite la tabla Users. Hay dos formas de editar tablas en el entorno integrado de desarrollo ASP.NET Web Matrix:

a. Haciendo clic en el botón Edit del toolbar de la ventana Data.

b. Haciendo doble clic sobre el nombre de la tabla en la vista de árbol de la ventana Data.

2. Observará el cuadro de diálogo Edit Table. El cuadro de diálogo Edit Table muestra un data grid que contiene datos de la tabla. Las modificaciones de datos que haga en el data grid Edit Table serán hechas directamente contra la base de datos.

3. Añada dos nuevos registros de datos para la tabla Users.

Nota Presione la tecla Enter o seleccione un registro diferente en el data grid para guardar un nuevo registro en la base de datos. Nota La columna UserID es configurada para auto-incrementarse (iniciando en 1 con incrementos de 1). La base de datos determina automáticamente y asigna el siguiente valor para un campo auto-incremental, cuando un nuevo registro es guardado en la base de datos. Los campos auto-

Page 97: manual asp net web - español

incrementales son solo de lectura en el data grid del cuadro de diálogo Edit Table y tendrán valores negativos hasta que el nuevo registro sea añadido a la base de datos. Nota Haga clic en el enlace Edit/View Table Design en la parte inferior del cuadro de diálogo Edit Table para ver la definición de la tabla mientras edita el nodo. No se puede editar la definición tabla si hay datos en ella. 

4. Haga clic en Close.

Siguiente Paso >>

Construir una Aplicación de Punta-a-Punta Crear una página Master/Details

En esta sección usted creará una nueva Data Page basada en la plantilla de proyecto Master - Details Grid. También enlazará el Data Page para las tablas Orders y OrderDetails en la base de datos Orders.

1. Seleccione New del menú File. Aparecerá el cuadro de diálogo New File.

2. Seleccione Data Pages del panel Templates.

3. Seleccione la plantilla Master - Details Grids.

4. Escriba una ruta de acceso de archivo en el cuadro Location.

5. Escriba Default.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista Language.

7. Haga clic en OK. El archivo Default.aspx se abrirá en vista Design. 

Page 98: manual asp net web - español

8. Seleccione la solapa Code.

Nota El ASP.NET Web Matrix pondrá automáticamente código para ligar el MasterGrid, mediante una sub rutina llamada BindMasterGrid, y el DetailsGrid, mediante una sub rutina llamada BindDetailGrid.

9. Modifique las variables ConnectionString y CommandText en la sub rutina BindMasterGrid para referenciar las columnas en la tabla Orders de la base de datos Orders.

10. Dim ConnectionString As String = "server=(local);database=Orders;Integrated Security=SSPI"

11.12. Dim CommandText As String = "select OrderID, OrderDate, CustomerName from

Orders"

13. Modifique las variables ConnectionString y CommandText en la sub rutina BindDetailGrid, para referenciar las columnas en la tabla OrderDetails de la base de datos Orders.

14. Dim ConnectionString As String = "server=(local);database=Orders;Integrated Security=SSPI"

15.16. Dim CommandText As String = "select OrderDetailID, ProductName, Quantity,

UnitPrice " & _17. "from OrderDetails where OrderID = '" & filterValue & "'"

18. Seleccione la solapa Design.

19. Coloque la propiedad DataKeyField del MasterGrid a OrderID. La propiedad DataKeyField es usada para filtrar registros en la grilla detalle. 

Page 99: manual asp net web - español

20. Remplace el texto de cabecera (Master - Detail Grids) con un control Label de la solapa Web Controls en el Toolbox.

21. Coloque la propiedad ID del Label a Welcome. 

22. Seleccione la solapa Code.

23. Modifique el código del evento Page_Load para que éste coloque la propiedad Text del Label a nombre del usuario actual y para ligar el data grids:

24. Sub Page_Load(Sender As Object, E As EventArgs)

Page 100: manual asp net web - español

25.26. Welcome.Text = "Hello, " + User.Identity.Name27.28. If Not Page.IsPostBack Then29.30. ' Databind the master grid on the first request only31. ' (viewstate will restore these values on subsequent postbacks).32.33. MasterGrid.SelectedIndex = 034. BindMasterGrid()35. BindDetailGrid()36.37. End If38.39. End Sub

40. Guarde y ejecute la página ASP.NET.

41. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web. Seleccione un registro en el MasterGrid. Note como el DetailsGrid se actualiza con cada selección de registro del MasterGrid. Note también que el nombre de usuario podría o no mostrarse, dependiendo de la configuración de su seguridad de archivo. De manera predeterminada, en la mayoría de los servidores el nombre de usuario no aparecerá porque un usuario que accedió una página no necesita tener una sesión activa para verlo (el acceso anónimo es permitido). Se cambiará este valor predeterminado en la siguiente serie de pasos para forzar que el usuario inicie sesión.

42. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Page 101: manual asp net web - español

Construir una Aplicación de Punta-a-Punta Crear una página de Login

En esta serie de pasos, usted creará una nueva aplicación de página de inicio de sesión basada en la plantilla de proyecto Login Page. Validará las credenciales de usuario contra la tabla Users de la base de datos Orders.

1. Seleccione New del menú File y verá el cuadro de diálogo New File.

2. Seleccione Security del panel Templates.

3. Seleccione la plantilla Login Page.

4. Escriba una ruta de acceso de archivo en el cuadro Location.

5. Escriba Login.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Haga clic en OK. El archivo Login.aspx se abrirá en vista Design. 

8. Seleccione la solapa Code.

Nota ASP.NET Web Matrix tiene puesto automáticamente el código en el evento LoginBtn_Click para validar los valores del UserName y UserPass:

Sub LoginBtn_Click(Sender As Object, E As EventArgs)

If Page.IsValid Then If (UserName.Text = "[email protected]") And (UserPass.Text = "password") Then FormsAuthentication.RedirectFromLoginPage(UserName.Text, true) Else Msg.Text = "Invalid Credentials: Please try again" End If End If

End Sub

9. Desde la solapa Code Builders en el Toolbox, arrastre SELECT Data Method Code Builder en la página ASP.NET.

Page 102: manual asp net web - español

10. Observará el cuadro de diálogo Connect to Database.

11. Escriba localhost en el cuadro Server.

12. Haga clic en la lista desplegable Database. ASP.NET Web Matrix se conectará al origen de datos y llenará la lista desplegable Database con nombres de base de datos. Seleccione la base de datos Orders y haga click en OK.

13. Verá aparecer el paso uno del Code Builder Wizard; este es el llamado cuadro de diálogo Construct SELECT Query.

14. Seleccione Users en la lista Tables.

15. Seleccione el cuadro de verificación seguido por el ítem * en la lista Columns.

16. Haga clic en WHERE.

17. Observará el cuadro de diálogo WHERE Query Builder.

18. Seleccione la tabla Users en la lista desplegable Table del panel Left Operand.

19. Seleccione UserName en la lista Column.

Nota Esta opción pone el operador Left como parte de la sentencia WHERE.

20. Seleccione el botón de opción Filter y Escriba @UserName en el cuadro filter (predeterminado).

Nota Esta opción pone el operador Right como parte de la sentencia WHERE. Más adelante usted pasará este valor como un parámetro para la sentencia WHERE.

21. Haga clic en OK.

22. Tendrá que retornar al paso Construct SELECT Query del Code Builder Wizard.

23. Haga clic en AND Clause.

24. Verá el cuadro de diálogo Query Builder.

25. Seleccione la tabla Users en la lista desplegable Table en el panel Left Operand.

26. Seleccione UserPassword en la lista Column.

Nota Esta opción coloca el operador Left como parte de la sentencia WHERE.

27. Seleccione el botón de opción Filter y escriba @UserPassword en el cuadro (predeterminado).

Nota Esta opción coloca el operador Right como parte de la sentencia WHERE. Más adelante pasará este valor como un parámetro para la sentencia WHERE.

28. Haga clic en OK.

29. Retornará al paso Construct SELECT Query del Code Builder Wizard.

30. Haga clic en Next. 

Page 103: manual asp net web - español

31. Verá el paso dos del Code Builder Wizard; Query Preview.

32. Haga clic en Test Query.

33. Escriba bsmith en el cuadro UserName =.

34. Escriba bsmith en el cuadro UserPassword =.

35. Haga clic en OK.

36. Observará el registro Users correspondiente para un específico UserName y UserPassword que aparecerá en la grilla, resultado del cuadro de diálogo Query Preview. 

Page 104: manual asp net web - español

37. Haga clic en Next.

38. Observará el paso tres del Code Builder Wizard; este es el llamado cuadro de diálogo Enter A Caption. Escriba GetUser en el cuadro.

39. Seleccione el botón de opción DataSet.

40. Haga clic en Finish. 

Page 105: manual asp net web - español

41. El Wizard se cerrará y ASP.NET Web Matrix colocará la función llamada GetUser en vista Code. La función acepta un userName y userPassword como parámetro de entrada y devuelve un DataSet como parámetro de salida. El DataSet es llenado con los datos detalles de usuario para el especificado userName y userPassword:

42. Function GetUser(ByVal userName As String, ByVal userPassword As String) _43. As System.Data.DataSet44.45. Dim connectionString As String = _46. "server='localhost'; trusted_connection=true; Database='Orders'"47. 48. Dim sqlConnection As System.Data.SqlClient.SqlConnection = _49. New System.Data.SqlClient.SqlConnection(connectionString)50. 51. Dim queryString As String = _52. "SELECT [Users].* " & _53. "FROM [Users] " & _54. "WHERE (([Users].[UserName] = @UserName) AND " & _55. "([Users].[UserPassword] = @UserPassword))"56.57. Dim sqlCommand As System.Data.SqlClient.SqlCommand = _58. New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)59. 60. sqlCommand.Parameters.Add("@UserName", System.Data.SqlDbType.VarChar).Value

= _61. userName62. 63. sqlCommand.Parameters.Add("@UserPassword",

System.Data.SqlDbType.VarChar).Value = _64. userPassword65. 66. Dim dataAdapter As System.Data.SqlClient.SqlDataAdapter = _67. New System.Data.SqlClient.SqlDataAdapter(sqlCommand)68. 69. Dim dataSet As System.Data.DataSet = New System.Data.DataSet

Page 106: manual asp net web - español

70. 71. dataAdapter.Fill(dataSet)72. 73. Return dataSet74. End Function

75. Actualice el evento click del Button para que éste valide las entradas de usuario contra el resultado de la llamada de la función GetUser:

76. Sub LoginBtn_Click(Sender As Object, E As EventArgs)77.78. If Page.IsValid Then79. Dim userDS As New System.Data.DataSet80. 81. userDS = GetUser(UserName.Text, UserPass.Text)82. 83. If userDS.Tables(0).Rows.Count = 1 Then84. FormsAuthentication.RedirectFromLoginPage(UserName.Text, true)85. Else86. Msg.Text = "Invalid Credentials: Please try again"87. End If88. End If89.90. End Sub

91. Guarde y ejecute la página de Login.

92. Su página Login aparecerá automáticamente en una nueva instancia de su Explorador Web.

93. Escriba bsmith en los cuadros Username y Password y haga clic en Login. 

94. De manera predeterminada, la página Login va ha redireccionar al usuario a la página llamada Default.aspx en un exitoso login.

Nota La página Login mostrará un mensaje de error si proporciona credenciales que no

Page 107: manual asp net web - español

existan en la table Users. 

95. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Construir una Aplicación de Punta-a-Punta Crear un archivo Web.Config

A continuación usted aprenderá a crear un archivo Web.config que va a configurar su aplicación Web para:

Recolectar credenciales del cliente utilizando formularios HTML (esto es autentificación basada en Formularios)

Prevenir el acceso de usuarios Web anónimos

Crearemos el archivo con la utilización conjunta de la página Login.aspx, ya que permite forzar a los usuarios que realicen con éxito un inicio de sesión, antes de visitar su página de reporte de datos Master/Details. Para activar esto, por favor sigua los pasos a continuación:

1. Seleccione New del menú File y aparecerá el cuadro de diálogo New File.

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla Web.Config.

4. Escriba una ruta de archivo en el cuadro Location.

5. Escriba Web.config en el cuadro Filename (predeterminado).

Page 108: manual asp net web - español

6. Haga clic en OK y el archivo web.config se abrirá. 

7. Coloque el atributo mode de la etiqueta authentication a Forms (predeterminado es Windows). El código a continuación pone las políticas de autentificación de la aplicación:

8. <authentication mode="Forms">Nota La autentificación basada en Formularios es un servicio de autentificación ASP.NET que habilita a la aplicación para proveer su propia UI de inicio de sesión y hacer su propia verificación de credenciales.

9. Quite las sub-etiquetas allow (predeterminado) de la etiqueta authorization. El código a continuación pone las políticas de autorización de la aplicación:

10. <allow users="joeuser" />11. <allow roles="Admins" />

Nota Se puede permitir o negar el acceso para los recursos de la aplicación mediante roles de usuario.

12. Coloque la sub-etiqueta deny de la etiqueta authorization a ? (predeterminado es *):

13. <deny users="?" />Nota Adicionalmente para el usuario o nombres de roles, se puede especificar uno de los siguientes valores comodín: "*" modo todos, "?" modo anónimo. Negando el acceso del usuario anónimo a las páginas dentro del directorio, prohibe a cualquier usuario que no inició una sesión, visitar una página. En lugar de eso, será enviado a la página de inicio de sesión que creó anteriormente. Ellos no tienen acceso a ninguna página hasta que escribe un nombre de usuario y contraseña correctos en la página de inicio de sesión.

14. Guarde el archivo.

Nota No puede ejecutar un archivo Web.config.

Next Step >>

Construir una Aplicación de Punta-a-Punta Crear la página de Registro

En esta serie de pasos, usted creará una nueva página ASP.NET que almacenará información de un nuevo usuario en la tabla Users.

1. Seleccione New del menú File y verá el cuadro de diálogo New File.

Page 109: manual asp net web - español

2. Seleccione (General) del panel Templates.

3. Seleccione la plantilla ASP.NET Page.

4. Escriba una ruta de acceso de archivo en el cuadro Location.

5. Escriba NewUser.aspx en el cuadro Filename.

6. Seleccione Visual Basic en la lista desplegable Language.

7. Haga clic en OK y el archivo NewUser.aspx se abrirá en vista Design.

8. Desde la solapa Web Controls en el Toolbox, arrastre tres controles Label, dos controles TextBox y un control Button sobre la página ASP.NET. 

9. Cambie la propiedad Text del Label superior a UserName:.

10. Cambie la propiedad Text del Label medio a UserPassword:.

11. Cambie la propiedad Text del Label bajo a vacío (sin texto).

12. Cambie la propiedad ID del Label bajo a Message.

13. Cambie la propiedad ID del TextBox superior a txtUserName.

14. Cambie la propiedad ID del TextBox bajo a txtUserPassword.

15. Cambie la propiedad TextMode para el TextBox de nombre de usuario a Password.

Nota Esta propiedad retira o pone el modo de comportamiento del text box. En este caso, porque una contraseña es información sensible, el TextBox automáticamente ocultará lo que escribe el usuario.

Page 110: manual asp net web - español

16. Seleccione la solapa Code.

17. Desde la solapa Code Builders en el Toolbox, arrastre un INSERT Data Method Code Builder en la página ASP.NET. 

18. Aparecerá el cuadro de diálogo Connect to Database.

19. Teclee localhost en el cuadro Server.

20. Haga clic en la lista desplegable Database. ASP.NET Web Matrix se conectará con el origen de datos y llenará la lista desplegable Database con nombres de base de datos. Seleccione la base de datos Orders y haga clic en OK.

21. Verá el paso uno del Code Builder Wizard, el cual es el llamado cuadro de diálogo Construct INSERT Query.

22. Seleccione Users en la lista Tables.

Nota Deje el cuadro de verificación de Column con el valor predeterminado.

23. Haga clic en Next. 

Page 111: manual asp net web - español

24. Aparecerá el paso dos del Code Builder Wizard; este es llamado cuadro de diálogo Enter A Caption. Escriba AddUser en el cuadro method name.

25. Haga clic en Finish. 

Page 112: manual asp net web - español

26. El Wizard se cerrará y ASP.NET Web Matrix pondrá una función llamada AddUser en vista Code. La función acepta un userName y userPassword como parámetros de entrada y devuelve un Integer como parámetro de salida. El valor Integer representará el total de registros afectados:

27. Function AddUser(ByVal userName As String, ByVal userPassword As String) As Integer

28. Dim connectionString As String = _29. "server='localhost'; trusted_connection=true; Database='Orders'"30. 31. Dim sqlConnection As System.Data.SqlClient.SqlConnection = _32. New System.Data.SqlClient.SqlConnection(connectionString)33. 34. Dim queryString As String = "INSERT INTO [Users] ([UserName],

[UserPassword]) " & _35. "VALUES (@UserName, @UserPassword)"36. 37. Dim sqlCommand As System.Data.SqlClient.SqlCommand = _38. New System.Data.SqlClient.SqlCommand(queryString, sqlConnection)39. 40. sqlCommand.Parameters.Add("@UserName", System.Data.SqlDbType.VarChar).Value

= _41. userName42. 43. sqlCommand.Parameters.Add("@UserPassword",

System.Data.SqlDbType.VarChar).Value = _44. userPassword45. 46. Dim rowsAffected As Integer = 047. sqlConnection.Open48. 49. Try 50. rowsAffected = sqlCommand.ExecuteNonQuery51. Finally52. sqlConnection.Close53. End Try54.

Page 113: manual asp net web - español

55. Return rowsAffected56. End Function

57. Seleccione la solapa Design.

58. Haga doble clic en el control Button. ASP.NET Web Matrix abrirá el código en el evento Button1_Click en vista Code.

59. Añada código en el evento clic del Button. Esto llamará a la función AddUser, pasando el valor del TextBox como los parámetros UserName y UserPassword:

60. Sub Button1_Click(sender As Object, e As EventArgs)61.62. If AddUser(txtUserName.Text, txtUserPassword.Text) > 063. Message.Text = "Success"64. Else65. Message.Text = "Failure"66. End If67. 68. End Sub

69. Guarde y ejecute la página ASP.NET.

70. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

71. Escriba un nuevo nombre de usuario en el cuadro UserName.

72. Escriba la contraseña de usuario en el cuadro UserPassword.

73. Haga clic en Button.

Nota El Label de mensaje va a contener un nuevo estado de usuario insertado. 

Page 114: manual asp net web - español

74. Cierre la instancia del Explorador Web.

75. Abra el archivo Login.aspx que desarrolló anteriormente en esta serie de pasos. Proporcionará al usuario la opción de ejecutar la página NewUser.aspx si las credenciales de inicio de sesión son incorrectas.

76. Seleccione la solapa Code.

77. Modifique el evento clic del botón Login para que proporcione un enlace a la página NewUser en el Label de mensaje:

78. Msg.Text = "Invalid Credentials: Please try again or " + _79. "<a href='newuser.aspx'>register a new user</a>"

80. Guarde y ejecute la página ASP.NET.

81. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web.

82. Escriba un nombre de usuario inválido en el cuadro UserName.

83. Escriba un password de usuario en el cuadro UserPassword.

84. Haga clic en el Button.

Nota El usuario ahora tiene la opción de proporcionar credenciales de inicio de sesión válidas o seguir el enlace de registro de un nuevo usuario. 

85. Cierre la instancia del Explorador Web.

Siguiente Paso >>

Page 115: manual asp net web - español

Construir una Aplicación de Punta-a-Punta Ejecutar la Aplicación

En esta serie de pasos, usted podrá ejecutar la aplicación Web que desarrolló a lo largo de esta serie de pasos. El punto de entrada a la aplicación es la página Default.

1. Abra el archivo Default.aspx.

2. Ejecute la página ASP.NET.

3. Su página ASP.NET aparecerá automáticamente en una nueva instancia de su Explorador Web. 

4. Dado que esta es la primera vez que tiene acceso al sitio, no tendrá acceso a la página (porque no inició sesión). ASP.NET redirecciona automáticamente a la página de inicio de sesión donde usted puede introducir su cuenta de usuario/contraseña o hacer clic en el enlace de registro para crear una nueva cuenta. Una vez que inicie sesión, usted será redirecionado a la página default.aspx donde tendrá acceso el sitio restringido.

Siguiente Paso >>

Temas Avanzados

Preferencias del usuario

Usted puede cambiar varias de las configuraciones que afectan al entorno de desarrollo (IDE) de ASP.NET Web Matrix. Experimente con la configuración en el cuadro de diálogo Preferences hasta encontrar el mejor entorno para sus necesidades.

Puede acceder al cuadro de diálogo Preferences por la selección de Preferences en el menú Tools. 

Verá aparecer el cuadro de diálogo Preferences. 

Page 116: manual asp net web - español

General

Application: La página Application del cuadro de diálogo Preferences permite especificar cómo se mostrarán varios elementos en el menú Recent Files y el cuadro de diálogo que aparece en el inicio de la aplicación; ambos New File, Open File o ninguno. Se puede acceder a este cuadro de diálogo seleccionando la página Application del nodo General.

Text Editor

Fonts: La página Fonts del cuadro de diálogo Preferences permite establecer un esquema de fuentes para varios elementos de interfaz de usuario en el IDE. Se puede acceder a este cuadro de diálogo seleccionando la página Fonts del nodo Text Editor.

Web Editing

General: La página General del cuadro de diálogo Preferences le permite especificar el modo de edición predeterminado; ambos Design o Preview. Se puede acceder a este cuadro de diálogo seleccionando la página General del nodo Web Editing.