Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

41
5/14/2018 DesarrollodeAplicacionesWebConASP.NET4(Ejemplo)-slidepdf.com http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo  Página | 1 Desarrollo de aplicaciones web con ASP .NET 4.0  Ángel Esteban y Ángel Rayo  

Transcript of Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

Page 1: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 1

Desarrollode aplicaciones web

con ASP .NET 4.0 Ángel Esteban y Ángel Rayo 

Page 2: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 2

Sipnosis

Este texto se encuentra dedicado a la nueva versión de ASP .NET que ofrece Microsoft dentro de su entorno .NET Fra-mework 4.0. Se abordan diversos temas relacionados con el desarrollo de aplicaciones Web basadas en ASP .NET 4.0como pueden ser: los tipos de controles Web que se incluyen en esta versión (de inicio de sesión, de navegación, de acce-so a datos, etc.), el servicio gestor de roles, tratamiento de errores, depuración y trazas, etc. Se requiere conocer los fun-damentos de Internet/Intranet, estar familiarizado con la navegación por la web, conocer HTML y conocer el sistemaoperativo Windows a nivel de usuario, así como algunos conocimientos de programación orientada a objetos.

Los lenguajes de programación utilizados a lo largo del texto son Visual Basic .NET y C#.

Angel Esteban (Madrid, 1975) Ingeniero Técnico en Informática de Gestión (UniversidadPolitécnica de Madrid), con las siguientes titulaciones de Microsoft: MCSD, MCAD yMCTS (en SQL Server 2005). Trabaja como Software Architect en Alhambra-Eidos. Ex-perto en el diseño y desarrollo de aplicaciones Web basadas en ASP .NET. Autor de va-rios cursos virtuales en www.elcampusdigital.com. 

Ángel Rayo es formador de Alhambra-Eidos desde 2004. Ha sido el autor y coautor devarios libros entre los que destaca el titulado "Administración y Desarrollo con WSS 3.0 yMOSS 2007" centrado en Microsoft SharePoint así como otros relacionados con la plata-forma .NET. Además, ha escrito artículos para dotnetmanía sobre el ciclo de vida de desa-

rrollo de software con Visual Studio Team System, MSF y CMMI.Ha participado en ponencias sobre SharePoint, Visual Studio Team System y Symbian.Posee las certificaciones MCPD en .NET Framework 4.0, MCITP en SQL Server 2008 yMCTS en SharePoint 2010 principalmente. Está certificado como formador oficial de Mi-crosoft, EXIN y Nokia+Symbian, siendo en esta última certificación uno de los dos únicosprofesionales autorizados en España. Dentro de la gestión de procesos posee las certifica-ciones ITILv3 Expert, ITILv2 Service Manager e ISO/IEC 20000 Consultant Manager.

Page 3: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 3

Luarna

 Desarrollo de aplicaciones Web con ASP .NET 4.0

© Ángel Esteban y Ángel M. Rayo - Alhambra Eidos© De esta edición: 2011, Luarna Ediciones, S.L.

www.luarna.com Madrid, febrero de 2011

ISBN: 978-84-15013-03-7

Versión 1.0 (25/02/2011)

«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser reali-zada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Dere-

chos Reprográficos, www.cedro.org) si necesita fotocopiar, escanear o hacer copias digitales de algún fragmento de estaobra».

Page 4: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 4

DESARROLLO DE APLICACIONES WEBCON ASP .NET 4.0

Ángel Esteban y Ángel M. Rayo

Page 5: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 5

Indice

1. INTRODUCCIÓN A ASP .NET 4.0 .................................................................................................................................................. 15 

INTRODUCCIÓN............................................................................................................................................................................... 15 LENGUAJESDE PROGRAMACIÓN .......................................................................................................................................................... 16 RECORRIDO POR LASDISTINTASVERSIONESDEASP .................................................................................................................................. 16

 NOVEDADESDEASP .NET 4.0 ........................................................................................................................................................... 18 Nuevos controles de servidor .................................................................................................................................................. 18 Master Pages ......................................................................................................................................................................... 20 Temas y Skins ......................................................................................................................................................................... 20 Personalización....................................................................................................................................................................... 20 Internacionalización ............................................................................................................................................................... 20 Nuevo modelo de separación de código .................................................................................................................................. 21 PostBack entre distintas páginas ............................................................................................................................................. 22 Nuevos eventos de las páginas ASPX ....................................................................................................................................... 22 Soporte para manejar el foco de la página .............................................................................................................................. 23 Nuevas características del código de cliente ............................................................................................................................ 23 Directorios de una aplicación ASP .NET ................................................................................................................................... 24 Nueva sintaxis ........................................................................................................................................................................ 25 Nuevas directivas de las páginas ASPX .................................................................................................................................... 25 Distribución de la aplicación ................................................................................................................................................... 26 Visual Studio 2010 .................................................................................................................................................................. 26 Precompilación de páginas ..................................................................................................................................................... 27 Mejora del ViewState ............................................................................................................................................................. 27 API de configuración ............................................................................................................................................................... 28 Consola MMC de administración............................................................................................................................................. 28 Soporte para 64 bits ............................................................................................................................................................... 29 

MATERIAL NECESARIO ...................................................................................................................................................................... 29 

2. PRIMEROS PASOS CON ASP .NET 4.0 .......................................................................................................................................... 31 

INTRODUCCIÓN............................................................................................................................................................................... 31 EL ENTORNO DE TRABAJO .................................................................................................................................................................. 31 CREACIÓN DE UNA APLICACIÓNWEB CONVS2010 ................................................................................................................................. 32 MODELO DE SEPARACIÓN DE CÓDIGO ................................................................................................................................................... 36 CREACIÓN DE NUESTRA PRIMERA PÁGINAASP .NET 4.0 ........................................................................................................................... 38 CASO PRÁCTICO .............................................................................................................................................................................. 41 

Planteamiento ........................................................................................................................................................................ 41 

3. ELEMENTOS COMUNES DEL DESARROLLO DE APLICACIONES WEB CON ASP .NET 4.0 ................................................................ 42 

INTRODUCCIÓN............................................................................................................................................................................... 42 SINTAXISBÁSICA DEASP .NET ........................................................................................................................................................... 42 WEBFORMS.................................................................................................................................................................................. 45 

CONTROLESHTMLY CONTROLESWEB DE SERVIDOR................................................................................................................................ 46 EVENTOSDE UNA PÁGINAASPX ......................................................................................................................................................... 49 SEPARACIÓN DE CÓDIGO ................................................................................................................................................................... 53 DIRECTIVASDE LASPÁGINASASPX ...................................................................................................................................................... 55 EVENTOSDE LOSCONTROLESWEB DE SERVIDOR ..................................................................................................................................... 56 CONFIGURACIÓN DE LASAPLICACIONESASP .NET ................................................................................................................................... 62 CASO PRÁCTICO: PLANTEAMIENTO....................................................................................................................................................... 63 

4. CONTROLES HTML ...................................................................................................................................................................... 64 

INTRODUCCIÓN............................................................................................................................................................................... 64 CONTROLESHTML .......................................................................................................................................................................... 64 HTMLANCHOR................................................................................................................................................................................ 66 

HMLBUTTON ................................................................................................................................................................................. 68 HTMLFORM ................................................................................................................................................................................... 68 HTMLGENERICCONTROL ................................................................................................................................................................... 68 

Page 6: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 6

HTMLHEAD ................................................................................................................................................................................... 70 HTMLTITLE.................................................................................................................................................................................... 71 HTMLMETA................................................................................................................................................................................... 71 HTMLLINK..................................................................................................................................................................................... 71 HTMLIMAGE .................................................................................................................................................................................. 72 HTMLINPUTBUTTON........................................................................................................................................................................ 73 HTMLINPUTSUBMIT, HTMLINPUTRESET................................................................................................................................................ 73 HTMLINPUTCHECKBOX..................................................................................................................................................................... 73 HTMLINPUTFILE.............................................................................................................................................................................. 73 

HTMLINPUTHIDDEN......................................................................................................................................................................... 73 HTMLINPUTIMAGE .......................................................................................................................................................................... 74 HTMLINPUTRADIOBUTTON................................................................................................................................................................ 75 HTMLINPUTTEXT............................................................................................................................................................................. 75 HTMLSELECT.................................................................................................................................................................................. 75 HTMLTABLE................................................................................................................................................................................... 75 HTMLTABLEROW ............................................................................................................................................................................ 77 HTMLTABLECELL............................................................................................................................................................................. 77 HTMLTEXTAREA ............................................................................................................................................................................. 77 CORRESPONDENCIA ENTRE CONTROLESHTMLY ETIQUETASHTML ............................................................................................................. 77 CASO PRÁCTICO .............................................................................................................................................................................. 78 

Planteamiento ........................................................................................................................................................................ 78 

5.CONTROLES WEB ESTÁNDAR I ..................................................................................................................................................... 79 INTRODUCCIÓN A LOSCONTROLESWEB................................................................................................................................................ 79 CONTROLESWEB ESTÁNDAR.............................................................................................................................................................. 82 BUTTON........................................................................................................................................................................................ 82 CHECKBOX .................................................................................................................................................................................... 83 CHECKBOXLIST ............................................................................................................................................................................... 85 DROPDOWNLIST............................................................................................................................................................................. 87 BULLETEDLIST................................................................................................................................................................................. 89 HYPERLINK.................................................................................................................................................................................... 92 IMAGE.......................................................................................................................................................................................... 92 IMAGEBUTTON............................................................................................................................................................................... 92 LABEL........................................................................................................................................................................................... 93 LITERAL......................................................................................................................................................................................... 94 LINKBUTTON.................................................................................................................................................................................. 94 HIDDENFIELD ................................................................................................................................................................................. 95 LISTBOX........................................................................................................................................................................................ 96 PANEL.......................................................................................................................................................................................... 97 PLACEHOLDER................................................................................................................................................................................ 98 RADIOBUTTON ............................................................................................................................................................................... 99 RADIOBUTTONLIST........................................................................................................................................................................ 100 FILEUPLOAD ................................................................................................................................................................................ 102 IMAGEMAP................................................................................................................................................................................. 104 TABLE, TABLEROW YTABLECELL ....................................................................................................................................................... 105 TEXTBOX..................................................................................................................................................................................... 107 CORRESPONDENCIA ENTRE CONTROLESWEB ESTÁNDAR BÁSICOSY ETIQUETASHTML .................................................................................... 107 CASOPRÁCTICO1: PLANTEAMIENTO.................................................................................................................................................. 108 CASOPRÁCTICO2: PLANTEAMIENTO.................................................................................................................................................. 108 

6.CONTROLES WEB ESTÁNDAR II .................................................................................................................................................. 109 

INTRODUCCIÓN............................................................................................................................................................................. 109 CALENDAR................................................................................................................................................................................... 109 MULTIVIEW................................................................................................................................................................................. 117 WIZARD...................................................................................................................................................................................... 121 CASO PRÁCTICO: PLANTEAMIENTO..................................................................................................................................................... 130 

7.CONTROLES WEB DE VALIDACIÓN ............................................................................................................................................. 132 

INTRODUCCIÓN............................................................................................................................................................................. 132 SINTAXISY ASPECTOSGENERALES....................................................................................................................................................... 132 REQUIREDFIELDVALIDATOR.............................................................................................................................................................. 133 

Page 7: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 7

COMPAREVALIDATOR..................................................................................................................................................................... 136 RANGEVALIDATOR......................................................................................................................................................................... 139 REGULAREXPRESSIONVALIDATOR...................................................................................................................................................... 140 VALIDATIONSUMMARY................................................................................................................................................................... 141 CUSTOMVALIDATOR....................................................................................................................................................................... 143 GRUPOSDE VALIDACIÓN.................................................................................................................................................................. 146 CASO PRÁCTICO: PLANTEAMIENTO..................................................................................................................................................... 147 

8.ASPECTOS COMUNES DE LOS CONTROLES WEB ........................................................................................................................ 148 

INTRODUCCIÓN............................................................................................................................................................................. 148 ELAPI FOCUS.............................................................................................................................................................................. 148 CROSS-PAGEPOSTBACK ................................................................................................................................................................. 151 APLICANDO ESTILOSA LOSCONTROLESWEB......................................................................................................................................... 155 AÑADIENDO CONTROLESWEB EN TIEMPO DE EJECUCIÓN......................................................................................................................... 160 

9.CONTROLES WEB DE NAVEGACIÓN I ......................................................................................................................................... 162 

INTRODUCCIÓN............................................................................................................................................................................. 162 DEFINIENDO LA ESTRUCTURA DEL SITIOWEB ........................................................................................................................................ 162 SITEMAPPATH.............................................................................................................................................................................. 165 TREEVIEW ................................................................................................................................................................................... 168 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 187 

10.CONTROLES WEB DE NAVEGACIÓN II ...................................................................................................................................... 188 INTRODUCCIÓN............................................................................................................................................................................. 188 MENU........................................................................................................................................................................................ 188 SITEMAPDATASOURCE................................................................................................................................................................... 196 LA CLASESITEMAP ........................................................................................................................................................................ 200 CASO PRÁCTICO: PLANTEAMIENTO..................................................................................................................................................... 202 

11.PLANTILLAS Y DATA BINDING EN ASP .NET 4.0 ........................................................................................................................ 204 

INTRODUCCIÓN............................................................................................................................................................................. 204 INTRODUCCIÓN A LOSCONTROLESENLAZADOSA DATOS .......................................................................................................................... 204 PLANTILLAS.................................................................................................................................................................................. 205 DATABINDING ............................................................................................................................................................................. 211 

Estableciendo como origen de datos propiedades ................................................................................................................. 216 Estableciendo como origen de datos colecciones y listas........................................................................................................ 220 Estableciendo como origen de datos expresiones y métodos.................................................................................................. 226 El método DataBinder.Eval()/Eval() ....................................................................................................................................... 227 Caso Práctico: Planteamiento ............................................................................................................................................... 231 

12.CONTROLES WEB DE DATOS: CONTROLES DE ORIGEN DE DATOS ............................................................................................ 232 

INTRODUCCIÓN............................................................................................................................................................................. 232 CLASIFICACIÓN DE LOSCONTROLESWEB DE DATOS................................................................................................................................ 232 SQLDATASOURCE.......................................................................................................................................................................... 233 ACCESSDATASOURCE..................................................................................................................................................................... 244 XMLDATASOURCE......................................................................................................................................................................... 247 OBJECTDATASOURCE..................................................................................................................................................................... 249 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 252 

13.CONTROLES WEB DE DATOS: CONTROLES ENLAZADOS A DATOS I .......................................................................................... 253 

INTRODUCCIÓN............................................................................................................................................................................. 253 REPEATER.................................................................................................................................................................................... 253 EL CONTROLDATALIST.................................................................................................................................................................... 255 GRIDVIEW................................................................................................................................................................................... 265 

Definición de columnas dentro de un control GridView .......................................................................................................... 266 Ordenación de columnas....................................................................................................................................................... 273 Paginación............................................................................................................................................................................ 276 Selección de una fila ............................................................................................................................................................. 279 

Edición y modificación de una fila ......................................................................................................................................... 281 Eliminar filas......................................................................................................................................................................... 284 Mostrar y ocultar columnas .................................................................................................................................................. 286 

Page 8: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 8

Barra de scroll en un control GridView .................................................................................................................................. 288 

14.CONTROLES WEB DE DATOS: CONTROLES ENLAZADOS A DATOS II ......................................................................................... 290 

INTRODUCCIÓN............................................................................................................................................................................. 290 DETAILSVIEW ............................................................................................................................................................................... 290 

Configurando el control DetailsView ..................................................................................................................................... 291 Modificación, inserción y eliminación de datos ...................................................................................................................... 295 Conectando los controles GridView y DetailsView.................................................................................................................. 298 

FORMVIEW.................................................................................................................................................................................. 300 

CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 309 15.CONTROLES WEB DE INICIO DE SESIÓN I ................................................................................................................................. 310 

INTRODUCCIÓN............................................................................................................................................................................. 310 AUTENTICACIÓN Y AUTORIZACIÓN...................................................................................................................................................... 310 CONTROLESDE INICIO DE SESIÓN ....................................................................................................................................................... 311 CONFIGURANDO LA APLICACIÓN WEB PARA EL USO DEL SERVICIOMEMBERSHIP............................................................................................ 313 

El modelo de proveedores ..................................................................................................................................................... 313 Configuración del fichero Web.config .................................................................................................................................... 315 

CREATEUSERWIZARD..................................................................................................................................................................... 319 Definiendo una zona segura y una zona pública .................................................................................................................... 320 Creación de un nuevo usuario ............................................................................................................................................... 321 Personalizando el control CreateUserWizard ......................................................................................................................... 322 Creación de usuarios con la clase Membership ...................................................................................................................... 328 

LOGIN ........................................................................................................................................................................................ 333 

16.CONTROLES WEB DE INICIO DE SESIÓN II ................................................................................................................................ 339 

INTRODUCCIÓN............................................................................................................................................................................. 339 CONFIGURACIÓN DEL PROVEEDOR DEL SERVICIO MEMBERSHIP.................................................................................................................. 339 LOGINSTATUS............................................................................................................................................................................... 341 LOGINNAME................................................................................................................................................................................ 342 CHANGEPASSWORD....................................................................................................................................................................... 343 PASSWORDRECOVERY.................................................................................................................................................................... 348 LOGINVIEW ................................................................................................................................................................................. 350 LA CLASEMEMBERSHIP................................................................................................................................................................... 358 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 369 

17.EL SERVICIO GESTOR DE ROLES ................................................................................................................................................ 371 

INTRODUCCIÓN............................................................................................................................................................................. 371 CONFIGURACIÓN DEL FICHEROWEB.CONFIG ........................................................................................................................................ 371 CONFIGURACIÓN DEL SERVICIO GESTOR DE ROLES .................................................................................................................................. 373 EL PROVEEDOR DEL SERVICIO GESTOR DE ROLES..................................................................................................................................... 375 DEFINIENDO LOSROLESDE UNA APLICACIÓN......................................................................................................................................... 376 ASIGNACIÓN DE ROLESA USUARIOS.................................................................................................................................................... 380 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 387 

18.TRATAMIENTO DE ERRORES .................................................................................................................................................... 388 

INTRODUCCIÓN............................................................................................................................................................................. 388 TRATAMIENTO DE ERRORESESTRUCTURADO......................................................................................................................................... 388 LA CLASEEXCEPTION ...................................................................................................................................................................... 388 TRY /CATCH (TRATANDO LASEXCEPCIONES) ......................................................................................................................................... 389 LANZANDO EXCEPCIONES................................................................................................................................................................. 393 EXCEPCIONESPERSONALIZADAS......................................................................................................................................................... 396 TRATAMIENTO DE ERRORESENASP .NET ........................................................................................................................................... 400 EL MÉTODOPAGE _ERROR............................................................................................................................................................... 401 EL MÉTODOAPPLICATION _ERROR..................................................................................................................................................... 402 EL ATRIBUTOERRORPAGE DE LA DIRECTIVA@PAGE............................................................................................................................... 404 DEFINIENDO PÁGINASDE ERROR EN EL FICHERO WEB.CONFIG................................................................................................................... 406 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 408 

19.TRAZAS Y DEPURACIÓN EN ASP .NET 4.0 ................................................................................................................................. 410 

INTRODUCCIÓN............................................................................................................................................................................. 410 

Page 9: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 9

EL MECANISMO DE TRAZAS............................................................................................................................................................... 410 TRAZASA NIVEL DE PÁGINA .............................................................................................................................................................. 410 ESCRIBIENDO EN LASTRAZAS ............................................................................................................................................................ 411 TRAZAS DESDE COMPONENTES.NET .................................................................................................................................................. 416 TRAZASA NIVEL DE APLICACIÓN......................................................................................................................................................... 418 DEPURACIÓN ENASP .NET ............................................................................................................................................................. 419 DEPURANDO CON ELSDKDEBUGGER................................................................................................................................................. 420 DEPURANDO CONVISUALSTUDIO2010 ............................................................................................................................................. 423 

20.LA CLASE PAGE ........................................................................................................................................................................ 425 

INTRODUCCIÓN............................................................................................................................................................................. 425 EVENTOSDE LA PÁGINA................................................................................................................................................................... 425 PROPIEDADESDE LA CLASEPAGE....................................................................................................................................................... 429 MÉTODOSDE LA CLASEPAGE ........................................................................................................................................................... 431 DIRECTIVASDE LA PÁGINA................................................................................................................................................................ 431 

La directiva @Page ............................................................................................................................................................... 432 La directiva @Import ............................................................................................................................................................ 435 La directiva @Implements .................................................................................................................................................... 435 La directiva @Register .......................................................................................................................................................... 435 La directiva @Assembly ........................................................................................................................................................ 436 La directiva @OutputCache .................................................................................................................................................. 437 La directiva @Reference ....................................................................................................................................................... 439 

21.APLICACIONES ASP .NET 4.0 I .................................................................................................................................................. 440 

INTRODUCCIÓN............................................................................................................................................................................. 440 ELEMENTOSBÁSICOSDE UNA APLICACIÓN ASP .NET ............................................................................................................................. 440 DIRECTORIOSESPECIALESDE LA APLICACIÓN ASP .NET ........................................................................................................................... 440 LOSDIRECTORIOSBIN YAPP _CODE DE LA APLICACIÓN............................................................................................................................ 442 EL FICHEROGLOBAL.ASAX ............................................................................................................................................................ 444 

Directivas ............................................................................................................................................................................. 445 Declaración de código........................................................................................................................................................... 446 Inclusiones del lado del servidor ............................................................................................................................................ 447 Etiquetas de declaración de objetos ...................................................................................................................................... 447 

EVENTOSDE LA APLICACIÓN ............................................................................................................................................................. 448 Eventos por petición ............................................................................................................................................................. 449 Eventos condicionales ........................................................................................................................................................... 453 

LA CLASEHTTPAPPLICATION............................................................................................................................................................. 456 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 457 

22.MASTER PAGES ....................................................................................................................................................................... 458 

INTRODUCCIÓN............................................................................................................................................................................. 458 AÑADIENDO UNA PÁGINA MAESTRA ................................................................................................................................................... 458 ASOCIANDO PÁGINASMAESTRAS....................................................................................................................................................... 461 CREANDO LA PÁGINA DE CONTENIDO.................................................................................................................................................. 462 ACCEDIENDO A LA PÁGINA MAESTRA .................................................................................................................................................. 467 INDICANDO CONTENIDO POR DEFECTO ................................................................................................................................................ 472 ASIGNACIÓN DE LA PÁGINA MAESTRA EN TIEMPO DE EJECUCIÓN ................................................................................................................ 474 PÁGINASMAESTRASANIDADAS......................................................................................................................................................... 475 EVENTOS DE LAS PÁGINAS MAESTRAS.................................................................................................................................................. 478 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 481 

23.TEMAS Y SKINS ........................................................................................................................................................................ 483 

INTRODUCCIÓN............................................................................................................................................................................. 483 APLICANDO TEMAS........................................................................................................................................................................ 483 UTILIZANDO SKINS......................................................................................................................................................................... 486 PÁGINASMAESTRASY TEMAS ........................................................................................................................................................... 494 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 496 

24.CREACIÓN Y UTILIZACIÓN DE CONTROLES DE USUARIO .......................................................................................................... 497

 INTRODUCCIÓN............................................................................................................................................................................. 497 CONTROLESDE USUARIO................................................................................................................................................................. 497 

Page 10: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 10

LA DIRECTIVA@REGISTER ............................................................................................................................................................... 498 CREANDO UN CONTROL DE USUARIO................................................................................................................................................... 499 CREANDO PROPIEDADESEN LOSCONTROLESDE USUARIO......................................................................................................................... 502 EVENTOSEN LOSCONTROLESDE USUARIO............................................................................................................................................ 506 LA DIRECTIVA@CONTROL............................................................................................................................................................... 507 CONTROLESDE USUARIO Y EL MODELO SE SEPARACIÓN DE CÓDIGO............................................................................................................. 508 TRANSFORMACIÓN DE UNA PÁGINAASPXEN CONTROL DE USUARIO.......................................................................................................... 510 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 513 

25.CREACIÓN DE COMPONENTES Y CONTROLES WEB DE SERVIDOR ............................................................................................ 514 

INTRODUCCIÓN............................................................................................................................................................................. 514 INTRODUCCIÓN A LOSCOMPONENTES.NET ......................................................................................................................................... 514 CREACIÓN DE COMPONENTES.NET ................................................................................................................................................... 516 CREACIÓN DE CONTROLESASP .NETDE SERVIDOR ................................................................................................................................ 523 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 526 

26.CONSTRUCCIÓN AVANZADA DE CONTROLES WEB DE SERVIDOR ............................................................................................ 528 

INTRODUCCIÓN............................................................................................................................................................................. 528 PROPIEDADESDE LOSCONTROLESDE SERVIDOR..................................................................................................................................... 528 CONVERSIÓN DE LOSVALORESDE ATRIBUTOS........................................................................................................................................ 530 UTILIZANDO LOSSERVICIOSDEHTMLTEXTWRITER................................................................................................................................. 533 PROPIEDADESDE CLASE................................................................................................................................................................... 536 HEREDANDO DE LA CLASESYSTEM.WEB.IU.WEBCONTROLS. WEBCONTROL................................................................................................ 540 CONTROLESCOMPUESTOS............................................................................................................................................................... 542 MANTENIENDO EL ESTADO DE LOSCONTROLES...................................................................................................................................... 546 LANZANDO EVENTOS...................................................................................................................................................................... 548 

27.ACCESO A DATOS CON ADO .NET ............................................................................................................................................ 552 

INTRODUCCIÓN............................................................................................................................................................................. 552 BENEFICIOSDEADO .NET .............................................................................................................................................................. 552 ARQUITECTURA DE DATOSDESCONECTADOS......................................................................................................................................... 553 

DataSet ................................................................................................................................................................................ 554 ADO .NET y XML ................................................................................................................................................................... 555 

UNA VISIÓN GENERAL DEADO .NET.................................................................................................................................................. 555 LASCLASESDEADO .NET ............................................................................................................................................................... 556 ESTABLECIENDO LA CONEXIÓN. LOSOBJETOSCONNECTION...................................................................................................................... 558 LOSOBJETOSCOMMAND................................................................................................................................................................. 561 LOSOBJETOSDATAREADER.............................................................................................................................................................. 566 EL OBJETODATASET....................................................................................................................................................................... 570 LOSOBJETOSDATAADAPTER............................................................................................................................................................ 574 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 577 

28.CREACIÓN DE SERVICIOS WEB ................................................................................................................................................. 579 

INTRODUCCIÓN............................................................................................................................................................................. 579 INTRODUCCIÓN A LOSSERVICIOSWEB ................................................................................................................................................ 579 ARQUITECTURA DE UN SERVICIOWEB................................................................................................................................................. 580 CONSTRUCCIÓN DE SERVICIOSWEB.................................................................................................................................................... 581 COMPROBANDO EL FUNCIONAMIENTO DEL SERVICIO WEB ....................................................................................................................... 585 LA DIRECTIVA@WEBSERVICE........................................................................................................................................................... 588 LOSATRIBUTOSWEBSERVICE YWEBMETHOD...................................................................................................................................... 588 LA CLASEWEBSERVICE ................................................................................................................................................................... 593 SERVICIOSWEB DE ACCESO A DATOS.................................................................................................................................................. 597 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 601 

29.UTILIZACIÓN DE SERVICIOS WEB ............................................................................................................................................. 602 

INTRODUCCIÓN............................................................................................................................................................................. 602 LASFASESDE LA PUESTA EN MARCHA DE UN SERVICIOWEB...................................................................................................................... 602 DESCRIPCIÓN Y LOCALIZACIÓN DE SERVICIOSWEB.................................................................................................................................. 603 

LASCLASESPROXY......................................................................................................................................................................... 605 CREACIÓN DE CLASESPROXY CONVISUALSTUDIO.NET .......................................................................................................................... 606 Creación de clases proxy con la utilidad WSDL.EXE ................................................................................................................ 616 

Page 11: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 11

CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 621 

30.WEBPARTS I: CONCEPTOS BÁSICOS Y CATÁLOGOS .................................................................................................................. 622 

INTRODUCCIÓN............................................................................................................................................................................. 622 WEBPARTMANAGER YWEBPARTZONE.............................................................................................................................................. 623 MODOSDEL CONTROLWEBPARTMANAGER ........................................................................................................................................ 627 CONTROLESWEBPART ................................................................................................................................................................... 630 CATÁLOGOSWEBPART................................................................................................................................................................... 635 

PageCatalogPart .................................................................................................................................................................. 636 

DeclarativeCatalogPart ......................................................................................................................................................... 639 ImportCatalogPart ................................................................................................................................................................ 641 

31.  WEBPARTS II: MODOS DE EDICIÓN Y CONEXIÓN. ............................................................................................................ 645 

INTRODUCCIÓN............................................................................................................................................................................. 645 MODO DE EDICIÓN ........................................................................................................................................................................ 645 

ApareanceEditorPart y LayoutEditorPart ............................................................................................................................... 647 BehaviorEditorPart ............................................................................................................................................................... 650 PropertyGridEditorPart ......................................................................................................................................................... 653 

MODO DE CONEXIÓN ..................................................................................................................................................................... 661 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 667 

32.WEBPARTS III: CREACIÓN DE WEBPARTS PERSONALIZADOS ................................................................................................... 668 

INTRODUCCIÓN............................................................................................................................................................................. 668 DEFINIENDO ELWEBPART ............................................................................................................................................................... 668 DEFINICIÓN DE LASPROPIEDADESDELWEBPART................................................................................................................................... 669 CONSTRUCCIÓN DELWEBPART......................................................................................................................................................... 670 UTILIZANDO ELWEBPART ............................................................................................................................................................... 673 DEFINIENDO VERBOSPARA ELWEBPART ............................................................................................................................................. 675 RESTABLECIENDO LA CONFIGURACIÓN................................................................................................................................................. 680 

33.PERSONALIZACIÓN .................................................................................................................................................................. 681 

INTRODUCCIÓN............................................................................................................................................................................. 681 CREACIÓN DE PROPIEDADESDE PERSONALIZACIÓN ................................................................................................................................. 681 AGRUPACIÓN DE PROPIEDADESDE PERSONALIZACIÓN ............................................................................................................................. 685 DEFINICIÓN DE TIPOS...................................................................................................................................................................... 688 MIGRACIÓN DE USUARIOSANÓNIMOS ................................................................................................................................................ 693 

34.INTERNACIONALIZACIÓN ......................................................................................................................................................... 695 

INTRODUCCIÓN............................................................................................................................................................................. 695 CREACIÓN DE FICHEROSDE RECURSOS................................................................................................................................................. 695 

Carpetas especiales .............................................................................................................................................................. 695 Internet Explorer: Preferencias de idioma .............................................................................................................................. 696 Fichero de recursos local ....................................................................................................................................................... 696 Fichero de recursos global..................................................................................................................................................... 702 

MANEJANDO EL IDIOMA EN TIEMPO DE EJECUCIÓN................................................................................................................................. 703 ESTABLECIENDO EL IDIOMA .............................................................................................................................................................. 704 

35.ENTRADA/SALIDA CON FICHEROS Y STREAMS ......................................................................................................................... 707 

INTRODUCCIÓN............................................................................................................................................................................. 707 UNIDADESDE DISCO....................................................................................................................................................................... 707 DIRECTORIOS................................................................................................................................................................................ 712 FICHEROS.................................................................................................................................................................................... 720 RUTAS........................................................................................................................................................................................ 726 LECTURA Y ESCRITURA DE FICHEROSCON STREAMS................................................................................................................................. 728 CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 732 

36.DISTRIBUCIÓN DE APLICACIONES WEB .................................................................................................................................... 733 

INTRODUCCIÓN............................................................................................................................................................................. 733 

INSTALACIÓN DEVISUALSTUDIO2010 ............................................................................................................................................... 733 EL ENTORNO DE TRABAJO ................................................................................................................................................................ 736 MÉTODOSDE DISTRIBUCIÓN DE UNA APLICACIÓN WEB ........................................................................................................................... 736 

Page 12: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 12

XCopy ................................................................................................................................................................................... 736 Copiar sit io Web ................................................................................................................................................................... 739 Publicar sitio Web ................................................................................................................................................................. 742 Programa de instalación ....................................................................................................................................................... 745 

CASOPRÁCTICO: PLANTEAMIENTO .................................................................................................................................................... 749 

37.CONFIGURACIÓN DE INTERNET INFORMATION SERVER .......................................................................................................... 750 

INTRODUCCIÓN............................................................................................................................................................................. 750 EL SERVIDORWEBINTERNETINFORMATIONSERVER .............................................................................................................................. 750 

INSTALANDOIIS ............................................................................................................................................................................ 751 EL ADMINISTRADOR DESERVICIOSDEINTERNETINFORMATION SERVER....................................................................................................... 752 ELEMENTOSDEIIS ......................................................................................................................................................................... 754 ADMINISTRACIÓN DEL SITIOWEB ...................................................................................................................................................... 754 

Sitio Web .............................................................................................................................................................................. 754 Directorio particular ............................................................................................................................................................. 755 Documentos ......................................................................................................................................................................... 756 Errores personalizados .......................................................................................................................................................... 757 Rendimiento ......................................................................................................................................................................... 757 Seguridad de directorios ....................................................................................................................................................... 757 Filt ros ISAPI .......................................................................................................................................................................... 758 Encabezados HTTP ................................................................................................................................................................ 758 Extensiones de servidor......................................................................................................................................................... 759 ASP .NET............................................................................................................................................................................... 760 

LA APLICACIÓNWEB ...................................................................................................................................................................... 761 

38.ADMINISTRACIÓN Y CONFIGURACIÓN DE APLICACIONES WEB ............................................................................................... 764 

INTRODUCCIÓN............................................................................................................................................................................. 764 UNA CONFIGURACIÓN BASADA ENXML .............................................................................................................................................. 764 APLICANDO LA CONFIGURACIÓN........................................................................................................................................................ 765 FORMATO DE LOSFICHEROSDE CONFIGURACIÓN ................................................................................................................................... 766 

Sección de manejadores........................................................................................................................................................ 767 Sección de valores de configuración ...................................................................................................................................... 768 

TAREASCOMUNESDE CONFIGURACIÓN ............................................................................................................................................... 769 Configuración general........................................................................................................................................................... 770 Configuración de la página ................................................................................................................................................... 770 Configuración de la aplicación .............................................................................................................................................. 771 Cadenas de conexión ............................................................................................................................................................ 772 Configuración de la sesión .................................................................................................................................................... 773 Configuración de trazas ........................................................................................................................................................ 774 Errores personalizados .......................................................................................................................................................... 775 Web Services ........................................................................................................................................................................ 777 Globalización ........................................................................................................................................................................ 777 Compilación.......................................................................................................................................................................... 778 Identidad .............................................................................................................................................................................. 780 Manejadores HTTP ............................................................................................................................................................... 781 Modelo de proceso ............................................................................................................................................................... 784 

INDICANDO LA CONFIGURACIÓN PARA UN RECURSO CONCRETO ................................................................................................................. 786 BLOQUEANDO VALORESDE CONFIGURACIÓN ........................................................................................................................................ 787 HERRAMIENTASDE CONFIGURACIÓN .................................................................................................................................................. 788 

Sitio Web de Administración ................................................................................................................................................. 788 

39.INTRODUCCIÓN A ASP.NET AJAX ............................................................................................................................................. 791 

AJAX ......................................................................................................................................................................................... 791 ASP.NET AJAX ........................................................................................................................................................................... 792 

Microsoft AJAX Library .......................................................................................................................................................... 793 AJAX Extensions .................................................................................................................................................................... 794 AJAX Control Toolkit ............................................................................................................................................................. 799 AJAX Futures......................................................................................................................................................................... 799 

RESUMEN.................................................................................................................................................................................... 800 40.JAVASCRIPT ............................................................................................................................................................................. 801 

Page 13: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 13

SINTAXIS..................................................................................................................................................................................... 802 Palabras reservadas.............................................................................................................................................................. 802 Variables .............................................................................................................................................................................. 803 Tipos de variables ................................................................................................................................................................. 803 Objetos nativos..................................................................................................................................................................... 805 Declaración y uso de funciones ............................................................................................................................................. 807 Trabajo con objetos .............................................................................................................................................................. 809 JSON ..................................................................................................................................................................................... 810 

CLASES....................................................................................................................................................................................... 811 

MANEJO DE EXCEPCIONES................................................................................................................................................................ 812 41DOM Y BOM ............................................................................................................................................................................. 814 

DOM......................................................................................................................................................................................... 814 Elementos principales de Dom .............................................................................................................................................. 814 

BOM ......................................................................................................................................................................................... 828 Window................................................................................................................................................................................ 829 document ............................................................................................................................................................................. 830 location ................................................................................................................................................................................ 830 navigator.............................................................................................................................................................................. 831 screen................................................................................................................................................................................... 832 

XMLHTTPREQUEST....................................................................................................................................................................... 835 

43. MICROSOFT AJAX LIBRARY ..................................................................................................................................................... 842 LIBRARY...................................................................................................................................................................................... 842 FUNCIONESGLOBALES .................................................................................................................................................................... 843 EXTENSIONESDE LOSTIPOSBÁSICOSJAVA............................................................................................................................................ 845 SCRIPT........................................................................................................................................................................................ 845 

Extensiones de tipo matriz .................................................................................................................................................... 846 Extensiones de tipo booleano ................................................................................................................................................ 848 Extensiones de tipo fecha...................................................................................................................................................... 848 Extensiones de tipo error ...................................................................................................................................................... 849 Extensiones de tipo número .................................................................................................................................................. 850 Extensiones de tipo objeto .................................................................................................................................................... 850 Extensiones de tipo cadena ................................................................................................................................................... 850 

SISTEMA DE TIPOSJAVASCRIPT.......................................................................................................................................................... 851 BCLDE SCRIPTING......................................................................................................................................................................... 852 

Sys........................................................................................................................................................................................ 853 CASO PRÁCTICO: USO DE SERVICIOSWEB ............................................................................................................................................ 885 

44.EXTENSIONES AJAX.................................................................................................................................................................. 886 

SCRIPTMANAGER.......................................................................................................................................................................... 886 PERSONALIZACIÓN DEL CONTROLSCRIPTMANAGER................................................................................................................................ 889 MANEJO DE OPERACIONESASÍNCRONASY ERRORES................................................................................................................................ 893 MANEJO DE SCRIPTS....................................................................................................................................................................... 894 MANEJO DE SERVICIOS.................................................................................................................................................................... 896 GLOBALIZACIÓN Y LOCALIZACIÓN ....................................................................................................................................................... 896 OTROSEVENTOS........................................................................................................................................................................... 897 SCRIPTMANAGERPROXY ................................................................................................................................................................. 897 TIMER........................................................................................................................................................................................ 897 UPDATEPANEL.............................................................................................................................................................................. 898 CONSTRUCCIÓN DE UNA INSTANCIAUPDATEPANEL................................................................................................................................ 899 GESTIÓN DETRIGGERS.................................................................................................................................................................... 900 

AsyncPostBackTrigger........................................................................................................................................................... 901 PostBackTrigger ................................................................................................................................................................... 902 

UPDATEPROGRESS......................................................................................................................................................................... 903 

45.AJAX CONTROL TOOLKIT.......................................................................................................................................................... 904 

AJAX CONTROLTOOLKIT ................................................................................................................................................................ 905 

ACCORDION................................................................................................................................................................................. 906 ALWAYSVISIBLECONTROLEXTENDER................................................................................................................................................... 907 ANIMATIONEXTENDER.................................................................................................................................................................... 907 

Page 14: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 14

AUTOCOMPLETEEXTENDER.............................................................................................................................................................. 908 CALENDAREXTENDER...................................................................................................................................................................... 909 CASCADINGDROPDOWN ................................................................................................................................................................. 909 COLLAPSIBLEPANELEXTENDER.......................................................................................................................................................... 910 CONFIRMBUTTONEXTENDER............................................................................................................................................................ 910 FILTEREDTEXTBOXEXTENDER............................................................................................................................................................ 911 MODALPOPUPEXTENDER................................................................................................................................................................ 911 RATING....................................................................................................................................................................................... 911 CASO PRÁCTICO: AJAX CONTROLTOOLKIT .......................................................................................................................................... 912 

46. ...............................................................................................................................................¡ERROR! MARCADOR NO DEFINIDO. STUDIO ........................................................................................................................................¡ERROR! MARCADOR NO DEFINIDO. 

47.RESOLUCIÓN CASOS PRÁCTICOS.............................................................................................................................................. 913 

CAPÍTULO2 ................................................................................................................................................................................. 913 CAPÍTULO3 ................................................................................................................................................................................. 914 CAPÍTULO4 ................................................................................................................................................................................. 916 CAPÍTULO5 ................................................................................................................................................................................. 917 CAPÍTULO6: CASO PRÁCTICO1 ......................................................................................................................................................... 920 CAPÍTULO6: CASO PRÁCTICO2 ......................................................................................................................................................... 921 CAPÍTULO7 ................................................................................................................................................................................. 923 CAPÍTULO8 ................................................................................................................................................................................. 925 CAPÍTULO10 ............................................................................................................................................................................... 927 CAPÍTULO11 ............................................................................................................................................................................... 929 CAPÍTULO12 ............................................................................................................................................................................... 930 CAPÍTULO13 ............................................................................................................................................................................... 932 CAPÍTULO15 ............................................................................................................................................................................... 933 CAPÍTULO17 ............................................................................................................................................................................... 936 CAPÍTULO18 ............................................................................................................................................................................... 941 CAPÍTULO19 ............................................................................................................................................................................... 944 CAPÍTULO22 ............................................................................................................................................................................... 945 CAPÍTULO23 ............................................................................................................................................................................... 949 CAPÍTULO24 ............................................................................................................................................................................... 951 CAPÍTULO28 ............................................................................................................................................................................... 954 CAPÍTULO27 ............................................................................................................................................................................... 957 CAPÍTULO28 ............................................................................................................................................................................... 960 CAPÍTULO29 ............................................................................................................................................................................... 962 CAPÍTULO31 ............................................................................................................................................................................... 965 CAPÍTULO35 ............................................................................................................................................................................... 968 CAPÍTULO36 ............................................................................................................................................................................... 970 CAPÍTULO38 ............................................................................................................................................................................... 971 CASO PRÁCTICO: USO DE SERVICIOSWEB ............................................................................................................................................ 971 CASO PRÁCTICO: AJAX CONTROLTOOLKIT .......................................................................................................................................... 975 

Page 15: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 15

1. INTRODUCCIÓN A ASP .NET 4.0

 Introducción

ASP NET 2.0 es la tecnología para el desarrollo de aplicaciones Web que ponemos encontrar en la nueva versión que

ofrece Microsoft de su plataforma de desarrollo Microsoft .NET Framework 2.0. Este texto está pensado tanto para aque-llos lectores que ya conocen ASP .NET 1.x, u otra versión previa (ASP 1.0/2.0/3.0), como para los que no conocen nadadel entorno de desarrollo de las páginas activas de servidor de Microsoft.

Nuestro objetivo va a ser centrarnos en la tecnología ASP .NET, aunque comentaremos brevemente, y cuando sea necesa-rio, algunos conceptos generales de la plataforma .NET (.NET Framework), ya que no debemos olvidar que es la plata-forma sobre la que se van a ejecutar las aplicaciones Web desarrolladas con páginas ASP .NET, es decir, las páginas ASP.NET no se van a ejecutar directamente sobre un sistema operativo determinado, sino que lo van a hacer sobre la plata-forma, denominada .NET Framework, que ofrece Microsoft.

La plataforma .NET ofrece una serie de herramientas y tecnologías necesarias para construir y desarrollar aplicacionesWeb, así pues, las páginas ASP .NET se van a ejecutar dentro del entorno de ejecución que nos facilita el .NET Frame-work. Podríamos decir que ASP .NET es una parte de la plataforma .NET, y es esta parte la que se va a tratar en el pre-sente texto.

Para aquellos lectores que no conozcan la tecnología de desarrollo de las páginas ASP en cualquiera de sus versiones, voya realizar una definición muy sencilla de lo que consiste la filosofía de la programación de aplicaciones Web con páginasASP o ASPX.

La filosofía de ASP .NET resulta muy sencilla, en pocas palabras se puede definir de la siguiente forma: las páginas ASP.NET, también llamadas páginas activas, son páginas que contienen código HTML, script de cliente y un código que seejecuta en el servidor, dando como resultado código HTML. Por lo tanto al cargar una página ASP .NET en nuestro nave-gador, en realidad no estamos cargando la página ASP .NET como tal, sino el resultado de la ejecución de la página, es

decir la salida de la página ASP .NET, y como se ha apuntado anteriormente se trata de código HTML. Es decir, sonpáginas que se ejecutan en el servidor enviando como resultado al cliente código HTML.

El anterior párrafo está extraído completamente de un antiguo texto dedicado a ASP 3.0, el titulado “Programación paraaplicaciones para Internet con ASP 3.0”, y es perfectamente aplicable a ASP .NET 4.0, pero este entorno de desarrollo deaplicaciones Web, va más allá presentando un completo entorno mucho más elaborado y completo, con lo que la afirma-ción de párrafo anterior se quedaría muy corta, ya que únicamente define uno de los aspectos de las páginas ASP .NET.

De forma más genérica, y acertada, podemos definir ASP .NET como el entorno de desarrollo incluido en la plataforma.NET de Microsoft, que nos permite desarrollar completas aplicaciones Web que se ejecutarán sobre el entorno ofrecidopor el .NET Framework. A lo largo de este texto iremos descubriendo paso a paso las distintas posibilidades (que sonbastante amplias) que nos ofrece ASP .NET, apoyándonos siempre en el nuevo entorno de desarrollo que nos ofrece de

Microsoft, Visual Studio 2010.Una vez realizada una definición más o menos de lo que son las páginas ASP .NET volvamos a tratar sobre la nueva ver-sión de ASP .NET.

Esta nueva versión de ASP .NET no ofrece unos cambios tan profundos como supuso el cambio de ASP 3.0 a ASP .NET1.0, esta nueva versión de las páginas ASPX (así se denominan también a las páginas ASP .NET, utilizando su extensión),es una evolución lógica de ASP .NET 1.x (utilizamos 1.x para referirnos a las dos versiones anteriores de ASP .NET laversión 1.0 y la 1.1)

Por lo tanto ASP .NET 4.0 es la nueva versión que ofrece el .NET Framework para el desarrollo de aplicaciones Web, yasean basadas en Internet, Intranet o Extranet. Como ya hemos adelantado, Microsoft también ofrece una nueva herramien-

ta integral de desarrollo, Visual Studio 2010. Será con esta herramienta con la que desarrollaremos nuestras aplicacionesWeb y por la tanto la comentaremos también en este texto. Como curiosidad comentaré al lector que la nueva versión del

Page 16: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 16

.NET Framework de Microsoft recibió el nombre en clave (code-name) de Whidbey y la versión 2.0 de ASP .NET llego adenominarse ASP .NET Whidbey.

No veremos Visual Studio 2010 de forma íntegra, sólo veremos la parte que nos interesa y que nos afecta a la hora dedesarrollar aplicaciones Web basadas en ASP .NET 4.0. Esta parte de Visual Studio 2010 (VS 2010) se denomina Micro-soft Visual Web Developer 2005. Esta nueva versión de Visual Studio nos ofrece un entorno de desarrollo muy cómodopara crear nuestras aplicaciones Web a través de ayudas y asistentes.

Por lo tanto debido a todo lo anterior recomiendo al lector que para el correcto seguimiento del texto y de los ejemplos

que en el aparecen, instale en su equipo Visual Studio 2010, ya que esta será nuestra herramienta de trabajo. A lo largodel texto, según sea conveniente, se comentará el uso de Visual Studio 2010 para tareas concretas.

En este capítulo, además de realizar una introducción a ASP .NET 4.0. Si el lector no comprende alguno de los conceptosque vamos a adelantar no debe preocuparse, ya que más adelante, a lo largo del texto, se verán con mayor detalle.

 Lenguajes de programación

ASP .NET 4.0 no es un lenguaje de programación, sino que es un entorno de programación o tecnología de desarrollo,pero no es un lenguaje. De hecho ASP .NET soporta distintos lenguajes, en el presente texto vamos a utilizar los lengua-

  jes C# (CSharp) y Visual Basic .NET, ya que son los lenguajes más populares entre todos los que soportan las páginas

ASP .NET, y también son los más utilizados del .NET Framework.

El código intermedio es una característica común que poseen todas las tecnologías englobadas en la estrategia .NET deMicrosoft, a la que lógicamente pertenece ASP .NET. Las páginas ASP .NET cuando reciben la primera petición se com-pilan automáticamente a un lenguaje intermedio que es conocido como Common Language Runtime (CLR), es decir, esun lenguaje común al que compilan todos los lenguajes que utilicemos en nuestras páginas ASP .NET, generando el mis-mo código, ya sea Visual Basic .NET, C# o JScript. Gracias a esta característica podemos obtener grandes ventajas en loque a rendimiento en tiempo de ejecución se refiere, ya que la compilación de las páginas sólo se produce en la primerapetición que se realiza sobre la página, o bien cuando el código fuente de la misma se ha modificado y necesita por lotanto actualizarse, además el resultado de esta compilación permanece en caché para poder ser reutilizada.

Los ejemplos de código fuente que se mostraran en el texto se ofrecerán tanto en el lenguaje de programación C# como enel lenguaje VB .NET. Suponemos que el lector conoce la sintaxis de alguno de estos dos lenguajes, ya que abordar unlenguaje de programación queda fuera de los objetivos de este texto, que como sabemos todos trata sobre ASP .NET 4.0.

Las nuevas versiones de estos lenguajes que podemos encontrar dentro del .NET Framework 2.0 se denominan VisualBasic 2005 y C# 2.0.

 Recorrido por las distintas versiones de ASP

Hasta la fecha nos podemos encontrar con seis versiones de la tecnología de las páginas activas de servidor de Microsoft,es decir, de ASP (Active Server Pages). Vamos a realizar un recorrido histórico a través de ASP, desde ASP 1.0 hasta

ASP .NET 4.0.

La primera versión de las páginas activas (ASP 1.0), se incorporó como un añadido o ampliación al servidor Web delsistema operativo Microsoft Windows NT Server 4.0 llamado Internet Information Server 3.0 (IIS 3.0). Este servidorWeb era bastante interesante pero todavía era demasiado rudimentario y presenta limitaciones y problemas.

La primera versión de ASP era bastante interesante ya que se pasaba de la complejidad de los CGIs (Common GatewayInterface) a la sencillez de las páginas activas. ASP 1.0 supuso el inicio del desarrollo de aplicaciones Web con productosbasados en tecnología Microsoft.

La versión 2.0 de Active Server Pages la encontramos en el servidor Web de Microsoft Internet Information Server 4 (IIS4) y en el servidor Personal Web Server 4 (PWS 4). Ambos servidores los podemos instalar desde la extensión del sistema

operativo de Windows NT denominada Windows NT 4.0 Option Pack, o más comúnmente Option Pack. Esta extensióndel sistema operativo no sólo es aplicable a Windows NT, sino que también la podemos utilizar para Windows 95/98.

Page 17: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 17

Se debe señalar que el servidor IIS 4 es el servidor Web para plataformas Windows NT Server 4.0, y el servidor PersonalWeb Server 4.0 es el servidor Web para plataformas Windows 95/98 y Windows NT Workstation 4.0.

IIS 4 además de ofrecer la nueva versión de la tecnología ASP, permite configurar y administrar de forma sencilla nues-tras aplicaciones ASP. Además la figura de la aplicación ASP se encuentra mucho más clara que en la versión 1.0 de laspáginas ASP, el servidor Web nos indicará claramente el alcance de una aplicación ASP determinada.

ASP 2.0 es una clara y necesaria evolución de ASP 1.0 incorporando la posibilidad de realizar páginas ASP transacciona-les, añadiendo para ello un nuevo objeto integrado denominado ObjectContext (objeto de contexto). ASP 2.0 ofrece

un entorno más robusto y potente que la versión anterior para el desarrollo de aplicaciones Web.

Más tarde apareció ASP 3.0. Para poder utilizar ASP 3.0 tenemos que disponer de cualquiera de las versiones del sistemaoperativo Windows 2000 (Professional, Server y Advanced Server). En este caso no se trata únicamente de una nuevaversión del servidor Web sino también de una nueva versión del sistema operativo Windows.

ASP 3.0 se encuentra disponible dentro de Windows 2000 en cualquiera de sus versiones (Professional, Server, AdvancedServer). Dentro de Windows 2000 encontramos el componente Internet Information Services o Internet Information Ser-ver, que como todos los lectores sospechan es la nueva versión del servidor Web de Microsoft Internet Information Ser-ver. Al instalar Internet Information Services 5.0 (IIS 5.0) dotamos a nuestro servidor de todas las funcionalidades de unpotente servidor Web, y dentro de estas funcionalidades se encuentra ASP 3.0.

ASP 3.0 podemos decir que es la evolución lógica de ASP 2.0, no supone ningún cambio radical, ofrece una serie de me- joras y novedades. Se añade un nuevo objeto integrado llamado ASPError, este nuevo objeto es utilizado para el trata-miento de errores.

Y por fin llegamos a la aparición del .NET Framework de Microsoft, que va a contener una nueva versión de ASP, ASP.NET 1.0, en este caso los cambios respecto a ASP 3.0 si que son notables, tanto que en muchos casos podemos conside-rar que se parecen en poco, ni siquiera podríamos considerar que se trata de ASP 4.0, ya que los cambios van más allá.ASP .NET plantea una nueva forma de desarrollar aplicaciones Web dentro del entorno ofrecido por el .NET Framework.En resumen, una nueva forma de programar aplicaciones Web.

Con ASP .NET 1.0 aparece la herramienta de desarrollo Visual Studio 2002 que contiene la versión del 1.0 .NET Frame-work.

ASP .NET es completamente compatible con ASP, podemos tener aplicaciones Web basadas en ASP y ASP .NET fun-cionando en el mismo servidor Web, que será Internet Information Server 5.0, las páginas ASP tienen la extensión .ASP

y son procesadas por la DLL ASP.DLL y sin embargo las páginas ASP .NET poseen la extensión .ASPX y son procesa-das por el entorno de ejecución .NET Framework, que las transforma en el código intermedio, representado en este casopor la DLL ASPNET_ISAPI.DLL.

Como curiosidad comentaré a los lectores que en las primeros pasos de la plataforma .NET (beta 1 y versiones prelimina-res previas) ASP .NET se denominaba ASP+ y la propia plataforma poseía la denominación de NGWS (New GenerationWindows Services, Nueva Generación de Servicios de Windows).

Después apareció la versión 1.1 del .NET Framework y con el la nueva versión de las páginas ASPX, ASP .NET 1.1, quecomo ocurría con ASP 2.0 y ASP 3.0, esta nueva versión incluye leves mejoras y cambios. El Framework 1.1 aparece yadentro del sistema operativo Windows 2003 Server y se instala como una parte perfectamente integrada. Y dentro de estenuevo sistema operativo tenemos el servidor Web IIS 6.0, que va a ser el encargado de albergar las aplicaciones Webbasadas en ASP .NET.

Al igual que sucedía en la versión anterior, también aparece una nueva versión de la herramienta de desarrollo VisualStudio, en este caso se trata de la versión 2003.

Es ya con la nueva versión del Framework, la 2.0, cuando aparece ASP .NET 4.0, y al igual que sucedía con ASP 3.0 yASP .NET 1.0, es perfectamente compatible con las versiones 1.x de las páginas activas, lo único que tenemos que haceres instalar la nueva versión del Framework.

Desde el propio servidor Web IIS 6.0, en el caso de Windows 2003 Server, y desde el servidor Web IIS 5.1, en el caso delsistema operativo Windows XP Professional, a la hora de crear una aplicación Web nos permite indicar a que versión del

Page 18: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 18

Framework pertenece: a la 1.1 o a la 2.0, que se corresponderá con la versión de páginas ASPX. Esto lo podemos ver enla siguiente figura.

Figura 1

Como se puede desprender de la figura anterior, en un mismo servidor Web pueden convivir sin problemas las dos ver-siones del Framework, la 1.1 y la 2.0, lo mismo sucede con las herramientas de desarrollo, en un mismo equipo puedeestar instalado Visual Studio 2003 y Visual Studio 2010 sin ningún tipo de problema ni incompatibilidad, incluso odría-mos tener instalado Visual Studio 6.0.

Y para terminar con el siguiente apartado, como es de suponer también tenemos una nueva versión de la herramienta dedesarrollo Visual Studio, que es la que vamos a utilizar en este texto y que no es otra que la versión 2005.

 Novedades de ASP .NET 4.0

Como ya se ha adelantado los cambios en esta nueva versión de ASP no son tan dramáticos como los que se dieron con elcambio de versión de ASP 3.0 a ASP .NET 1.0, los lectores que conozcan ASP .NET 1.x lo tendrán bastante sencillo yaque la forma de desarrollar las aplicaciones Web y su filosofía permanecen intactas, sin embargo nos encontraremos conun gran número de mejoras y novedades.

Este apartado será muy útil para la audiencia conocedora de alguna versión previa de ASP .NET, ya que en un rápidovistazo se adelantarán todas las novedades, mejoras y cambios que nos ofrece la nueva versión de ASP .NET. Y para loslectores que no conozcan nada de ASP .NET les servirá para empezar a ponerse en contacto con el desarrollo de aplica-

ciones Web y para ver algunas de las funcionalidades que nos ofrece ASP .NET y que serán tratadas en mayor detalle a lolargo de los distintos capítulos de este texto.

A través de los distintos puntos de este apartado se van a comentar las novedades que aporta ASP .NET 4.0 respecto a laversión 1.x, apoyándose en el nuevo entorno .NET Framework 2.0. Esta nueva versión de ASP .NET nos ofrece unaspotentes características a la hora de desarrollar aplicaciones Web, pasemos a ver las más destacadas. El lector no debepreocuparse si no entiende alguno de los conceptos que aquí se comentan, ya que los veremos más adelante con mayorprofundidad, este apartado servirá sobre todo a aquellos lectores que ya conozcan ASP .NET 1.x, para ver de un simplevistazo las novedades más destacables de ASP .NET 4.0

Nuevos controles de servidor

En esta nueva versión de ASP .NET se ofrecen un gran número de nuevos controles de servidor, que se podrán utilizarpara distintas tareas dentro del desarrollo de una aplicación Web, tenemos desde controles de acceso a datos hasta contro-les de navegación.

Page 19: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 19

Para ver la gran cantidad de controles que ASP .NET pone a nuestra disposición únicamente tenemos que echar un vista-zo al cuadro de herramientas de Visual Studio 2010, podemos ver que aparecen un gran número de ellos agrupados porcategorías según su funcionalidad. En la siguiente figura podemos ver los grupos de controles de servidor que nos ofreceASP .NET 4.0 desde VS 2010.

Figura 2

No se trata únicamente de nuevos controles mejorados, sino que aparecen completas categorías de controles como puedenser los controles de inicio de sesión o los de navegación (denominados por VS 2010 de exploración). Vamos a comentarbrevemente las distintas categorías de nuevos controles de ASP .NET 4.0.

El acceso a datos desde ASP .NET 4.0 ahora se puede realizar en unos pocos pasos de manera muy sencilla, sin la necesi-dad de escribir ni una sólo línea de código haciendo uso únicamente de los nuevos controles de acceso a datos. Dentro deestos controles hay dos grupos bien diferenciados, los que nos ofrecen la conexión con las fuentes de datos, denominadoscontroles de fuente u origen de datos (data source controls), como podría ser el control SqlDataSource, y los que nosofrecen un interfaz de usuario para representar gráficamente los datos, denominados controles conectados a datos (databound controls), como puede ser el control GridView.

En la versión 1.x de ASP .NET ya existían los controles de acceso a datos, en ASP .NET 4.0 aparecen nuevos controles,pero ya existía esta categoría. Una categoría completamente nueva son los controles de navegación. Los controles de na-vegación ofrecen un interfaz de usuario que permite la navegación a través de las distintas páginas de un sitio Web, así como la presentación de la información de forma jerárquica. Un ejemplo de estos controles es el nuevo control Site-MapPath, que nos permite navegar entre páginas, y el control TreeView, que muestra la información de forma jerár-quica, en estructura de árbol organizada en nodos, otro control de navegación sería el control Menu, que nos permiteconstruir menús navegables.

También aparece una nueva categoría de controles llamada de inicio de sesión, estos controles nos van a ofrecer un inter-faz y funcionalidad para realizar labores de autenticación y autorización dentro de nuestro sitio Web. Dentro de este grupotenemos por ejemplo, el control Login que nos ofrece un interfaz gráfico consistente en las cajas de texto y botones paraindicar un nombre de usuario y una contraseña, además de toda la lógica para autenticar usuario es nuestra aplicaciónWeb, y el control ChangePassword que nos provee de un formulario para realizar el cambio de contraseña, con toda lalógica correspondiente que permitirá realizar esta tarea de forma automática.

El grupo de controles llamado Elementos Web también podemos encontrarlo por su nomenclatura en inglés, que suele sermás común, se trata de los controles WebPart. Estos son unos controles de servidor bastante potentes que permiten alusuario del sitio Web personalizar el aspecto y distribución del mismo, estos controles son utilizados en aplicaciones Webde tipo portal para que el usuario tenga una experiencia completamente personalizada del sitio Web. Por lo tanto el usua-rio podrá modificar en tiempo de ejecución las propiedades de los controles WebPart.

Dentro del grupo de controles estándar también aparecen nuevos controles de servidor, tan sencillos como puede ser el

control BulletedList, que representa una lista de elementos, el control HiddenField, para representar un campooculto de un formulario, y más complejos como puede ser el control Wizard, que permite definir una serie de pasos en

Page 20: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 20

forma de un asistente. En general los nuevos controles estándar que se han añadido a ASP .NET 4.0 nos van a permitirahorrarnos mucho trabajo debido a las funcionalidades que ofrecen.

Master PagesSi traducimos literalmente esta nueva característica de ASP .NET 4.0 obtenemos la expresión de “páginas maestras”, yeso mismo es lo que nos ofrece esta nueva funcionalidad, la posibilidad de crear plantillas para las páginas ASPX denuestra aplicación Web. Un ejemplo claro sería la utilización de una Master Page para definir la cabecera de una sitioWeb. Las páginas maestras tendrán la extensión .MASTER. La traducción “oficial” que se ha realizado del término Mas-

ter Pages es el de página principal, traducción muy poco feliz en mi opinión, por lo que las llamaremos páginas maestraso simplemente páginas Master.

De esta forma podemos definir una página Master o maestra para que todas nuestras páginas tengan un aspecto similar ycoherente dentro de la aplicación Web, con esto conseguimos, además de mantener una coherencia y uniformidad en todoel aspecto del sitio Web, un mantenimiento sencillo en lo que al aspecto y presentación de un sitio Web se refiere, ya quesi necesitamos cambiar alguna característica del sitio Web no tenemos que ir página a página, solo lo cambiaremos en lapágina maestra.

Pero las Master Pages no solo nos ofrecen un aspecto uniforme para el sitio Web, también pueden contener código, por lotanto también se pueden añadir funcionalidades comunes a toda la aplicación Web. Por lo tanto podemos decir que tene-mos un diseño, código y contenido reutilizable.

Para aquellos lectores que ya conocían alguna versión anterior de ASP, comentaré que las Master Pages nos van a ofreceruna funcionalidad que anteriormente obteníamos utilizando otros mecanismos como pueden ser los ficheros include y loscontroles de usuario de ASP .NET.

Temas y SkinsLos temas y skins o también llamadas máscaras, es un mecanismo que ofrece ASP .NET para establecer un aspectocomún a los distintos controles de los formularios de los que consta una aplicación Web, los temas de ASP .NET los po-demos asemejar a las hojas de estilo en cascada (hojas CSS), ya que en realidad son características del aspecto que se vana aplicar a los controles Web. Un tema va a estar compuesto de uno o más ficheros de máscara (tienen la extensión .skin) y por las hojas de estilo e imágenes que se utilicen.

Los temas se encuentran en una carpeta especial de la aplicación Web llamada App_Themes. Veremos a lo largo deltexto que además de esta carpeta especial, las aplicaciones Web de ASP .NET van a tener otras carpetas especiales conotra funcionalidad distinta.

En un fichero de máscara se van a definir los valores de las propiedades de los controles a los que queremos que afecte lamáscara, así si queremos definir las propiedades que van a tener los controles Label de nuestras páginas ASPX, debe-remos definir un control Label con los valores de las propiedades correspondientes dentro del fichero .skin.

Al igual que sucedía con las Master Pages, los temas y skins mejoran el mantenimiento de una aplicación Web, ya quetodos los estilos y aspecto de las páginas ASPX que forman parte de la aplicación se encuentran centralizados.

PersonalizaciónASP .NET 4.0 ofrecen una serie de servicios de personalización (perfiles) que van a ayudar a que la experiencia del usua-rio en la aplicación Web sea más personalizada, permitiéndonos mantener las preferencias de los usuarios de nuestra apli-cación Web, basándose en un completo mecanismo de perfiles. Esto lo conseguiremos a través de nuevo objeto denomi-nado Profile que nos ofrece ASP .NET 4.0.

InternacionalizaciónEn el área de desarrollo de aplicaciones Web, debido a las características de las aplicaciones Web, podemos vernos algu-na vez en la tarea de tener que diseñar una aplicación que sea multilenguaje, de forma que en el servidor Web tengamosuna única aplicación ejecutándose y dependiendo de los clientes que accedan esté en un idioma o en otro

ASP .NET 4.0 nos ofrece la característica de internacionalización, lo que hace más sencillo acometer una tarea de estetipo. Para ello ASP .NET pone a nuestra disposición los ficheros de recursos (.RESX), estos ficheros de recursos podrán

Page 21: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 21

ser de dos tipos, locales y globales, lo primeros se utilizarán en una página ASPX concreta y los segundos serán accesi-bles por todas las páginas ASPX presentes en la aplicación Web.

Existirán varios juegos de ficheros de recursos, uno por idioma que queramos utilizar en nuestra aplicación Web, en estosficheros de recursos podemos definir todos los literales que aparecen en la aplicación, y como ya se ha dicho existirá unfichero de recurso para cada idioma.

Aunque los ficheros de recursos ya existían en ASP.NET 1.x, no se encontraban tan integrados dentro de la herramientade desarrollo ni tampoco dentro de las páginas ASPX.

Visual Studio 2010 nos ofrece la utilidad del editor de ficheros de recursos.

También podremos detectar de manera automática el idioma preferido que ha elegido el usuario en su navegador.

Nuevo modelo de separación de códigoEn versiones anteriores de ASP .NET 1.x ya se realizaba la separación entre la lógica de presentación y la lógica de nego-cio, haciendo uso del mecanismo que se denominaba Code-Behind . Mediante esta característica todo el código HTML yASP .NET que se correspondía con el interfaz de usuario se encontraba en la página ASPX a la que se le asociaba unfichero de código que era una clase que contenía todo el código para la lógica de negocio.

La filosofía de la separación entre el código de la lógica de negocio y de presentación no ha variado, lo que cambia es laforma de llevarlo a cabo. A la página ASPX también se le asocia un fichero de clase, pero en este caso se trata de unaclase parcial, aparece un nuevo modificador para las clases llamado  partial. Una clase parcial permite dividir el códigoque define a la clase en varios ficheros. De esta forma el fichero de la clase que se asocia a la página ASPX contiene me-nos líneas de código ya que se compila de forma conjunta con la propia página, y por lo tanto no se necesita declarar en laclase los distintos controles que contiene la página ASPX. Aludiendo a esta característica Microsoft indicaba que se re-ducía el número de filas de código fuente en un 70%, con lo que el código es más legible y más sencillo de mantener.

Las clases parciales en general son una nueva característica que ofrece el .NET Framework en su versión 2.0.

Respecto a la utilización de este modelo de separación de código se puede hacer la siguiente apreciación: este modelo noes obligatorio, aunque si recomendable, ya que la lógica de presentación queda en la página ASPX y la lógica de negocio

(acceso a datos, tratamiento de eventos, funcionalidad, operaciones, etc.) queda en el fichero de la clase (con las extensio-nes .VB o .CS según el lenguaje utilizado) que se ha asociado a la página ASP .NET. Esto permite que el código sea másclaro y más sencillo de mantener, además estas ventajas se reafirman con el nuevo modelo de separación de código, lla-mado por algunos autores Code-Beside en contraposición al modelo de ofrecían las versiones 1.x de ASP .NET llamadocomo ya sabemos Code-Behind .

Este modelo de separación de código que hemos introducido en este apartado, y que más delante retomaremos en mayordetalle para mostrar ejemplos concretos de código, ya hemos dicho que no es obligatorio, pero es el modelo de programa-ción de páginas ASPX que ofrece por defecto el entorno de desarrollo Visual Studio 2010, aunque al añadir una nuevapágina ASPX nos permite seleccionar, mediante un check, si queremos hacer uso del modelo de separación de código ono. Si desmarcamos esta casilla se empleará para la página ASP .NET el modelo de código que encontramos en las anti-guas versiones ASP hasta de la aparición de la tecnología .NET. Literalmente, tal como vemos en la imagen inferior en la

casilla aparece el texto Colocar el código en un archivo independiente.

Page 22: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 22

Figura 3

Si la casilla anterior está seleccionada además de añadirse el fichero .ASPX al proyecto de Visual Studio 2010, se añadeun segundo fichero llamado igual que la página ASP .NET pero con la extensión .ASPX.VB ó .ASPX.CS según el

lenguaje utilizado, este será el fichero de la clase de la página y que estará asociado a la misma.

Pero si desmarcamos la casilla al añadir una nueva página ASPX se utilizará otro modelo de código, este modelo de códi-go se denomina código en línea (inline coding) y en este caso no existe separación entre la lógica de presentación y la denegocio, todo el código se encuentra en la página ASPX. Aunque VS 2010 soporta este estilo de codificación, si desmar-camos la casilla de la imagen anterior, como ya hemos dicho es mejor no utilizarlo. Visual Studio 2010 para este modelode codificación incluso ofrece la característica de intellisense, ayuda inteligente que aparece cuando estamos escribiendocódigo para la página y nos indica las propiedades, métodos, parámetros, etc., que podemos utilizar en una situación de-terminada.

PostBack entre distintas páginas

Realizar unPost 

de una página ASPX significa que es enviada al servidor para su tratamiento, será en este envío cuandose traten los eventos correspondientes y se ejecute el código de servidor que se encuentre asociado, además se inicia elciclo de eventos de la página (Init, Load, PreRender, etc.). Y un PostBack es simplemente realizar un Post sobre lamisma página, es decir, reenviar la página al servidor.

En las antiguas versiones de ASP (1.0/2.0/3.0), se podía realizar un post, es decir, enviar la página, sobre una página dis-tinta a la actual, por lo tanto la página de destino podía obtener los datos del formulario que existían en la página de ori-gen y realizar el tratamiento que proceda. En ASP .NET esto no es posible, los post/postback o envíos de página se reali-zan siempre sobre la página actual, es decir, no hay posibilidad de enviar el formulario a una segunda página, siempre sehace sobre la misma, recargándose.

Con ASP .NET 4.0 si que es posible realizar un PostBack sobre una segunda página, y desde esta segunda página ASPX

se puede tener acceso al formulario (Web Form) de la primera página. ASP .NET 4.0 nos ofrece la propiedad PostBackUrl para indicar la página ASPX a la que deseamos enviar el formulario, es decir, la página ASP .NET sobre la que rea-lizaremos el Post, y mediante la propiedad PreviousPage de la clase Page tendremos acceso al formulario de la pági-na de origen desde la página sobre la que se hace el PostBack o envío del formulario.

Nuevos eventos de las páginas ASPXLas páginas ASP .NET tienen una serie de eventos que se producen dentro de un orden determinado en lo que se puededefinir como el ciclo de vida de una página ASPX, es decir, cada vez que se carga una página se ejecutarán siempre unoseventos determinados. En la versión 2.0 de ASP .NET se incluyen seis nuevos eventos de este tipo.

Veamos brevemente cada uno de estos nuevos eventos por orden de ejecución.

El primero de ellos es PreInit, que se ejecutará en el momento anterior al que la página es inicializada; luego nos en-contramos con InitComplete que se ejecutará cuando se ha completado la inicialización de la página a este evento le

Page 23: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 23

sigue PreLoad, que indica el instante inmediatamente anterior al momento en el que la página se carga en memoria; elsiguiente es LoadComplete, que indica que la página se ha cargado completamente en memoria; más adelante se ejecu-ta el evento PreRenderComplete, este se ejecutará justo en el momento anterior en el que la página se muestra en elnavegador Web.

Y llegamos al último evento en orden de ejecución de los nuevos eventos del ciclo de vida de una página, este últimoevento se denomina SaveStateComplete, y se ejecuta cuando la página ha terminado de guardar toda la informacióndel ViewState, es decir, la información relativa al estado y valores de las propiedades de los controles de la página. Elconcepto de ViewState lo volvemos a tratar un poco más adelante.

Y si unimos estos nuevos eventos de la página, con los que ya existían en las versiones anteriores de ASP .NET, tenemosel siguiente esquema de ejecución de eventos del ciclo de vida de una página ASPX.

1.  PreInit

2.  Init

3.  InitComplete

4.  PreLoad

5.  Load

6.  LoadComplete7.  PreRender

8.  PreRenderComplete

9.  SaveStateComplete

10.  UnLoad

Se debe aclarar que estos no son todos los eventos que ejecuta una página ASPX, estos son solo los eventos que pertene-cen a su ciclo de vida y que se ejecutan siempre, luego tenemos otros eventos que se lanzarán en situaciones muy particu-lares como pueden ser AbortTransaction o CommitTransaction, cuando estamos utilizando transacciones ennuestra página, o bien el evento Error, que se lanzará cuando se produce un error dentro de la página ASPX. Todos los

eventos los veremos de forma completa cuando tratemos el objeto Page, este objeto es una clase del .NET Frameworkque representa a la página ASPX actual.

Soporte para manejar el foco de la páginaASP .NET 4.0 ofrece una serie de características para poder manejar de forma conveniente y tener control sobre el focode los controles Web de nuestra página ASPX. El conjunto de facilidades que nos ofrece ASP .NET 4.0 para tratar el focodentro de las páginas ASP .NET se denomina API Focus. Este API nos permite controlar el foco sobre los controles de unformulario Web, ya sea de forma declarativa o bien a través del código de servidor en tiempo de ejecución.

Así por ejemplo podemos establecer el foco sobre un control Web de servidor lanzando sobre él su método Focus(). Ala hora de definir un formulario Web en la página ASPX podemos utilizar su atributo DefaultFocus para indicar el

control Web que poseerá el foco al cargarse la página.

Nuevas características del código de clienteASP .NET aporta una serie de mejoras a la hora de utilizar código de cliente en las páginas ASPX. Una de las mejorasmás interesantes es la de permitir ejecutar código de servidor desde código de cliente, es lo que se denomina Callbacksdesde el cliente.

Se permite realizar una llamada a un método de código de servidor desde código de cliente (javascript) sin tener que rea-lizar un PostBack de la página, es decir, sin tener que recargar la página, esta característica se denomina también llamadasfuera de banda.

Con un Callback de código cliente se envía una petición al servidor, sin recargar la página, y luego el navegador recibe larespuesta, y en ese momento el código cliente (javascript), mediante DHTML (Dynamic HTML) muestra la respuesta enla página.

Page 24: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 24

Esta característica se basa en la capacidad del navegador Web de soportar llamadas fuera de banda a través del protocoloXMLHTTP. Con esto se consigue enviar una petición simple sin tener que ir enviando y recibiendo la página completa.

Otras nuevas características son más sencillas, como puede ser la posibilidad de indicar en el objeto Button mediante lapropiedad OnClientClick, el método que se ejecutará del código cliente cuando se produzca el evento Click delbotón o como puede ser atributo

MaintainScrollPositionOnPostBack de la directiva Page, que si le asignamos el valor True se mantendrá laposición del scroll de la página en el navegador en distintas recargas ( PostBacks) de la misma.

Directorios de una aplicación ASP .NETEn ASP .NET se introducen una serie de nuevos directorios especiales, que tendrán un uso determinado dentro de lasaplicaciones ASP .NET. Esta no es una idea nueva, ya que en ASP .NET 1.x ya existía un directorio especial, era el di-rectorio BIN, que era utilizado para contener los assemblies de los que hacía uso la aplicación ASP .NET, recordamosque un assemblie (ensamblado) es una DLL de un componente compilado. Al aparecer estas nuevos directorios especia-les, no quiere decir que el directorio BIN deje de utilizarse, este directorio podrá seguir utilizándose en las aplicacionesWeb de ASP .NET 4.0.

Desde el propio entorno de desarrollo Visual Studio 2010 se ofrece soporte para la creación de estos directorios de laaplicación Web. Si pulsamos con el botón derecho del ratón sobre la solución dentro del explorador de soluciones de VS

2010 veremos que en le menú contextual aparece el elemento  Agregar carpeta ASP .NET , y si vamos a esta opción demenú aparecen otras subopciones que se corresponden con los directorios que podemos crear, esto se puede apreciar en lasiguiente figura.

Figura 4

Vamos a pasar a comentar brevemente cada uno de los nuevos directorios que presenta ASP .NET para desarrollar aplica-ciones ASP .NET

1.   App_Code: la labor principal de esta carpeta es la de contener las clases de la aplicación Web. Todas las clases

que contenga esta carpeta serán accesibles desde cualquier página ASPX de la solución.2.   App_Data: esta carpeta va a contener los almacenes de datos utilizados por la aplicación, podrán contener fiche-

ros de SQL Server (.MDF), Access (.MDB), ficheros XML.

3.   App_Themes: esta carpeta contendrá los ficheros necesarios (ficheros .CSS y ficheros .SKIN) que forman par-te de un tema. Existirá un subdirectorio dentro de la carpeta App_Themes por cada uno de los temas definidos, yestos temas se podrán aplicar a las páginas que forman parte de la aplicación ASP .NET.

4.   App_GlobalResources: aquí podremos encontrar los ficheros de recursos globales (.RESX). Recordamosque estos ficheros nos permiten definir de forma global a la aplicación los textos en un lenguaje determinado.

5.   App_LocalResources: este directorio tiene la misma función que el anterior, pero en este caso albergará los

ficheros de recursos locales, es decir, aquellos a los que tendrán acceso únicamente las páginas determinadas deforma local.

Page 25: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 25

6.   App_WebReferences: este es el nuevo nombre que recibe el directorio encargado de contener las referenciasa los servicios Web utilizados dentro de la aplicación ASP .NET, en versiones anteriores de Visual Studio se de-nominaba Web References.

7.   App_Browsers: esta carpeta contiene ficheros .BROWSER, estos ficheros son ficheros en formato XML quecontienen las características de los distintos navegadores Web, estos ficheros nos van a servir para identificar lasfunciones que poseen los navegadores que hacen peticiones a nuestro sitio Web.

En la siguiente figura se muestra el aspecto que tendría una aplicación ASP .NET, dentro del explorador de soluciones de

VS 2010, con una serie de carpetas ASP .NET definidas.

Figura 5

Como sucede con casi todo lo comentado en este apartado, más adelante retomaremos las carpetas ASP .NET y las utili-zaremos según sea conveniente.

Nueva sintaxisASP .NET 4.0 nos provee con una nueva sintaxis para calcular expresiones dentro de las páginas ASPX. Esta sintaxistiene el siguiente aspecto <%$ %> y se utiliza en diversos escenarios: para obtener cadenas de conexión definidas en elfichero de configuración Web.config, para obtener literales definidos en ficheros de recursos, para acceder a valores deconfiguración de la aplicación y para obtener valores almacenados en perfiles.

Esta sintaxis la veremos a lo largo de los distintos ejemplos de código dentro del texto según sea necesaria. Esta sintaxisse denomina Expression Builders.

Nuevas directivas de las páginas ASPXComo consecuencia de algunas de las novedades vistas en los puntos anteriores, ASP .NET 4.0 ha tenido que incorporarnuevas directivas a las páginas ASPX para poder implementar algunas de las nuevas características que ofrece.

Así por ejemplo para definir los atributos específicos de una Master Page, ASP .NET 4.0 presenta la nueva directivaMaster. Esta directiva es muy similar a la directiva Page de las páginas ASPX, pero en este caso es específica de lasMaster Pages. También en relación con las Master Pages tenemos la directiva MasterType, esta directiva en contrapo-

sición a la anterior es para utilizar en las páginas ASPX “normales”, y no en las maestras.

Page 26: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 26

La directiva MasterType asocia un nombre de clase a una página maestra, de estar forma se consigue tener una refe-rencia fuertemente tipada a la Master Page y así acceder a sus atributos o métodos.

Distribución de la aplicaciónEsta característica, además de ser nueva en ASP .NET 4.0, también se encuentra muy relacionada con VS 2010, ya que eseste entorno de desarrollo el que nos ofrece una utilidad para realizar la publicación de un sitio Web. En ASP .NET 1.x laúnica forma de distribuir una aplicación Web era copiando tal cual el directorio virtual en el que se encontraba, y situán-dolo en el servidor Web deseado, o bien utilizando un asistente de distribución.

Ahora desde VS 2010 podemos utilizar el asistente de publicación del sitio Web para elegir la localización de la publica-ción y también la forma en que se generará el sitio Web, si permite la actualización o no.

En la siguiente figura se puede ver el asistente de publicación del sitio Web que nos ofrece Visual Studio 2010.

Figura 6

Además de esta herramienta, VS 2010 ofrece también la posibilidad de copiar un sitio Web como tal, sin precompilarlocomo en el caso de la utilidad de publicar sitio Web, mediante la utilidad Copiar sitio Web podemos conectarnos a unsitio Web remoto y copiar nuestra aplicación ASP .NET.

Visual Studio 2010Se ha incluido este apartado dentro de las novedades de ASP .NET 4.0 para dar relevancia a la nueva versión de estaherramienta de desarrollo, ya que ofrece un gran número de ayudas para el desarrollo de una aplicación Web con ASP.NET. El módulo de Visual Studio 2010 que nos permite desarrollar aplicaciones Web es el denominado Microsoft VisualWeb Developer.

Algunas de las ayudas y utilidades que nos ofrece VS 2010 ya las hemos comentado en anteriores puntos, y podemos

destacar las siguientes:

1.  Copia de sitio Web.

2.  Publicación de sitio Web.

3.  Sistema gestor de base de datos SQL Server 2005 Express. 

4.  Servidor Web integrado denominado con el siguiente nombre clave: Cassini. 

5.  Editor de ficheros de recursos.

6.   Intellisense mejorado.

7.  Smart Tags, etiquetas inteligentes que nos permitirán configurar de manera rápida algunos controles Web.

8.  Navegador de etiquetas, que nos permitirá desplazarnos de forma muy sencilla en el código HTML y ASP .NETde una página ASPX. También conoceremos en qué lugar de la página nos encontramos situados.

Page 27: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 27

9.  Asistencia y notificación de errores.

10.  Validación del código HTML.

Debido a todas estas características, veremos más tarde que se propone VS 2010 como material necesario para seguir eltexto

Precompilación de páginasASP .NET 4.0 ofrece una nueva herramienta que permite precompilar todas las páginas de una aplicación Web antes de

ser distribuida, esta herramienta se llama aspnet_compiler.exe. Al precompilar una página ASPX obtenemos lassiguientes ventajas: la primera petición de la página que se realice se ejecutará igual de rápido que cualquier otra y seevitan que aparezcan errores de compilación en el servidor Web de producción.

Esta precompilación también es llevada a cabo por la herramienta de publicación de sitio Web de VS 2010 y que hemoscomentado en un punto anterior. Desde esta herramienta se nos brinda la posibilidad de indicar si deseamos que las pági-nas ASPX sean modificables en el servidor Web de destino o no (Permitir que este sitio precompilado se actualice). Siindicamos que no queremos que sean modificables las páginas ASPX, protegeremos todo el código fuente de nuestraaplicación Web, ya que las páginas ASPX carecerán de contenido y se harán uso de una serie de DLLs en su lugar. Deesta forma no se podrá modificar nada, ni siquiera la lógica de presentación, de hecho si abrimos en el servidor en el quese ha publicado el sitio Web, alguna de las páginas ASPX para ver su código veremos el siguiente mensaje de adverten-cia.

É s t e e s u n a r c h i v o ma r c a d o r g e n e r a d o p o r l a h e r r a mi e n t a d e p r e c o mp i l a c i ó n y q u e n o s e d e b e r í a e l i mi n a r

Código fuente 1

Por lo tanto otra ventaja que obtenemos al precompilar nuestra aplicación Web de esta manera es que el código fuente delas páginas y de las clases no queda expuesto.

Mejora del ViewStateEl ViewState es el mecanismo que ofrece ASP .NET (ya en su primera versión 1.0) para mantener el estado de los contro-les de la página entre distintas llamadas a la página, es decir, en los múltiples PostBacks se mantienen de forma automáti-ca los valores y propiedades de los controles Web presentes en la páginas ASPX, sin tener que escribir el desarrollador

una sola línea de código.

Es necesario este mecanismo para mantener el estado de los controles, ya que el entorno en el que se ejecutan las páginasASPX es el protocolo HTTP, y este es un protocolo sin estado, las distintas llamadas que se realizan a un servidor Webson siempre independientes entre sí para el servidor, por lo tanto no mantiene el estado.

La forma que tiene ASP .NET de implementar este mecanismo es utilizar un campo oculto (hidden) dentro del formularioWeb. Este campo oculto es enviado junto con el resto de campos del formulario cuando el usuario realizar un envío delformulario al servidor, y ASP .NET es capaz de interpretar la información almacenada en el campo oculto para utilizarla ala hora de devolver de nuevo la página al navegador y construirla teniendo en cuenta el estado anterior en el que se encon-traba.

Para ver el aspecto que tiene el ViewState no tenemos nada más que cargar en nuestro navegador una página ASPX yseleccionar la opción de ver el código fuente, veremos algo similar a lo siguiente, el tamaño de la información incluida eneste campo variará según el número de campos que existan en el formulario de la página.

< i n p u t t y p e = " h i d d e n " n a me = " _ _ V I E WST AT E" i d = " _ _ V I E WS T AT E "v a l u e = " / w EP DwUK L TY 1 Nj k y N T Q5 NmRk i J J C p e b Hs D Gl Y+ L CI v g 2 x t 5 I HZ s = " / >

Código fuente 2

El problema que tiene el ViewState es que el tamaño de la información que se almacena en el campo oculto puede crecerbastante, haciendo que la carga de la página ASPX sea más lenta. Pero en la versión 2.0 de ASP .NET se ha optimizado elmecanismo de ViewState de tal manera que ha llegado a reducirse en un 50% el tamaño de la información generada res-pecto a la versión 1.1 de ASP .NET. Si queremos beneficiarnos de esta mejora en el rendimiento de ASP .NET 4.0 úni-

camente tenemos que recompilar nuestra aplicación ASP .NET 1.x en Visual Studio 2010.

Page 28: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 28

API de configuraciónEn esta nueva versión de ASP .NET se nos provee con un nuevo API para la manipulación de los ficheros de configura-ción de ASP .NET, es decir, los ficheros Web.config y machine.config, esto nos permite escribir y desarrollarnuestra propias aplicaciones para acceder a la configuración de las aplicaciones ASP .NET.

Un ejemplo práctico de utilización de este API de configuración lo tenemos si desde Visual Studio 2010 ejecutamos laopción de menú Sitio Web|Configuración de ASP .NET , esta acción lanzará la ejecución de una aplicación Web que hacela función de herramienta de administración de la aplicación Web que en ese momento tenemos cargada en VS 2010, en

la siguiente figura se puede ver el aspecto de la misma.

Figura 7

Desde esta herramienta de administración podemos realizar muchas labores de configuración, que trataremos en detalle

en el capítulo correspondiente.

Consola MMC de administraciónEn el apartado anterior hicimos referencia la herramienta de administración basada en Web que nos ofrecía VS 2010, estano es la única forma de administrar nuestra aplicación Web, de hecho en un entorno de producción real la forma máscomún de realizar las labores de administración y configuración de un sitio Web es a través del la herramienta de admi-nistración del propio servidor Web IIS (Internet Information Services).

ASP .NET 4.0 ofrece una nueva consola MMC (Microsoft Management Console) integrada como parte de la administra-ción del servidor IIS. Desde esta herramienta integrada dentro de IIS tendremos acceso a todas las posibilidades de confi-guración que nos ofrecen los ficheros de configuración de la aplicación ASP .NET. En la se puede ver el aspecto que pre-

senta esta nueva consola.

Page 29: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 29

Figura 8

Soporte para 64 bitsASP .NET 4.0 da completo soporte para los procesadores de 64 bits, aprovechando las características que éstos ofrecen, ylas aplicaciones Web de ASP .NET 4.0 se comportarán perfectamente como aplicaciones de 64 bits.

Como puede ver el lector son muchas las mejoras y novedades que aporta esta nueva versión de ASP .NET, esta ha sidouna visión muy general de las novedades que presenta ASP .NET 4.0, en los siguientes capítulos iremos entrando en losdistintos detalles.

 Material necesario

El único material necesario para seguir el texto, ya lo hemos adelantado antes, es la herramienta de desarrollo Visual Stu-dio 2010 y en concreto el módulo denominado Microsoft Visual Web Developer 2005.

VS 2010 nos ofrece además del .NET Framework 4.0, el servidor de base de datos SQL Server 2005 Express y el servidorWeb Cassini (denominado también Servidor Web de desarrollo dentro de VS 2010), por lo tanto podemos seguir el textoy desarrollar aplicaciones Web en las versiones Home y Professional de Windows XP, así como desde Windows 2003Server, ya que no es necesario contar con SQL Server ni con el servidor Web Internet Information Services.

Como curiosidad le comentaré al lector que si ejecuta una aplicación Web desde Visual Studio 2010 verá que en la parte

derecha de la barra de tareas del sistema operativo a parece un icono amarillo ( ), que es el que representa al servidorWeb Cassini. Si pulsamos con el botón derecho del ratón y seleccionamos la opción Propiedades veremos una ventanaque representa a este servidor Web de desarrollo, y desde esta ventana tenemos la posibilidad de parar su ejecución.

Page 30: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 30

Figura 9

A lo largo del texto iremos abordando distintos aspectos de Visual Studio 2010 según vaya siendo necesario a la hora derealizar alguna tarea dentro del desarrollo de aplicaciones Web con ASP .NET 4.0.

Con este último apartado damos por finalizado este capítulo de introducción a la tecnología ASP .NET 4.0. En el siguien-te capítulo veremos una serie de conceptos generales sobre la orientación a objetos y los lenguajes orientados a objetos.

Page 31: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 31

2. PRIMEROS PASOS CON ASP .NET 4.0

 Introducción

Dejamos el aspecto teórico de los dos capítulos anteriores, y pasamos a punto de vista más práctico. En este capítulo se va

a comentar paso a paso la creación de una aplicación Web con Visual Studio 2010, también se describirá el entorno detrabajo óptimo que debemos tener para seguir el texto satisfactoriamente.

También crearemos nuestra primera página ASPX y se comentará el entorno de desarrollo que nos ofrece VS 2010.

A partir de este capítulo empezaremos a tratar en detalle los distintos elementos de ASP .NET 4.0, que adelantamos bre-vemente en el capítulo de introducción a esta nueva versión de las páginas ASP .NET.

 El entorno de trabajo

Como requisito indispensable para poder seguir el texto correctamente y poder desarrollar los distintos ejemplos y casos

prácticos que en él aparecen, es necesario tener instalado Visual Studio 2010, es decir, la última versión del entorno inte-grado de desarrollo que ofrece Microsoft para su plataforma .NET 4.0.

Ya hemos visto que la instalación de Visual Studio 2010 es un proceso muy sencillo.

Además del entorno de desarrollo integrado (IDE), al instalar VS 2010 se instalan dos elementos fundamentales:

  La versión 4.0 del .NET Framework

  El sistema gestor de bases de datos SQL Server 2008 Express

Con esto podemos decir que el propio VS 2010 nos ofrece todo lo necesario para poder desarrollar aplicaciones Web conASP .NET 4.0. Por lo tanto nuestro sistema operativo puede ser Windows XP en sus versiones Home o Professional, ya

que no será necesario utilizar el servidor Web Internet Information Server (incluido en Windows XP Professional) o Win-dows 7 en cualquiera de sus ediciones

Como entorno de trabajo para poder seguir el curso ya sería suficiente con la instalación de VS 2010 ya que incluye laplataforma .NET en su versión 4.0, un sistema gestor de bases de datos y un servidor Web para poder ejecutar nuestraaplicación Web. Ahora bien, la cosa cambia cuando se trata de un entorno de desarrollo real.

En un entorno de desarrollo real la máquina del desarrollador, además de tener instalado VS 2010, como sistema operati-vo podría tener Windows XP en sus ediciones Home o Professional, ya que se pueden realizar pruebas locales de la apli-cación Web mediante el servidor Web que se encuentra integrado dentro de VS 2010. Pero también sería necesario dispo-ner de un servidor Web de pruebas que ofreciera un entorno más real de ejecución para la aplicación Web basada en ASP.NET 4.0 que se está desarrollando.

En el servidor de pruebas deberemos tener instalado lo siguiente:

  Sistema operativo Windows 2003-2008 Server

  Servidor Web Internet Information Services (IIS) en su versión 6.0-7.0.

  Microsoft .NET Framework 4.0

  Sistema gestor de base de datos SQL Server 2000, 2005 ó 2008

El orden de la instalación en el caso del servidor Web IIS y la plataforma .NET Framework 4.0 es importante, el .NETFramework se debe instalar después de haber instalado el servidor Web.

Page 32: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 32

Con estos requisitos tendremos un servidor de pruebas que representa un entorno de ejecución bastante común en el desa-rrollo de aplicaciones Web basadas en ASP .NET 4.0. Para casos concretos, cuando los requisitos en el servidor de pro-ducción sean distintos, deberemos implementar los requisitos correspondientes en nuestro servidor de pruebas.

Una forma muy común de desarrollar con Visual Studio 2010 aplicaciones Web basadas en ASP .NET, es la que vamos adescribir a continuación.

Cada miembro del equipo de desarrollo tiene una copia local de la aplicación Web que se está construyendo, y en suequipo tendrán instalado Windows XP en cualquiera de sus versiones y VS 2010. De esta manera pueden ir desarrollando

y ejecutando localmente la aplicación.

Las soluciones de VS 2010 que contienen cada una de las copias locales de la aplicación Web en los equipos de desarro-llo, deberán estar conectadas a un servidor de control de código fuente como puede ser Visual SourceSafe o Team Foun-dation Server, para de estar forma ir controlando los distintos cambios que cada miembro del equipo de desarrollo estárealizando en su proyecto Web local, y así no se perderá el trabajo de ninguno de los miembros del equipo, ya que VisualSourceSafe se encarga de ir bloqueando los distintos recursos (páginas ASPX, clases, etc.) de los que consta la soluciónde Visual Studio, para que cada desarrollador los utilice de forma exclusiva y que en un momento dado pueda obtener laúltima versión de la aplicación Web para poder tener a su disposición el resto de cambios que han realizado sus compañe-ros de equipo de trabajo.

Aunque la aplicación Web se haya ido desarrollando y probando en los equipos de los desarrolladores, será necesaria

probarla también en el servidor de pruebas, que será el que contendrá Internet Information Server 6.0 sobre Windows2003 Server o IIS 7.0 sobre Windows 2008 Server, tal como indicábamos un poco más arriba en este mismo apartado.

Visual Studio 2010 ofrece un completo entorno de desarrollo integrado para la plataforma .NET 4.0 de Microsoft, por lotanto además de desarrollar aplicaciones Web podremos desarrollar otro tipo de aplicaciones, como pueden ser las aplica-ciones Windows. El módulo que vamos a utilizar de Visual Studio 2010 es el que se denomina Microsoft Visual WebDeveloper 2010.

Ahora nos encontramos en disposición de crear nuestra primera aplicación Web con Visual Studio 2010.

Creación de una aplicación Web con VS 2010

Los pasos para crear desde VS 2010 una aplicación Web basada en ASP .NET son muy sencillos y los vamos a describir acontinuación.

Para crear un sitio Web de ASP .NET tenemos dos opciones dentro de VS 2010, la más inmediata es desde la Página deInicio de VS 2010, en la parte superior izquierda, en la sección proyectos recientes tenemos la opción Crear: Sitio Web…

Figura 10

Page 33: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 33

También se puede crear un sitio Web desde la opción de menú Archivo | Nuevo sitio Web, las dos posibilidades nos llevana la pantalla que aparece a continuación.

Figura 11

Aquí tendremos que seleccionar la opción de sitio Web de ASP .NET, que es la que nos interesa en este caso que nosocupa. Dos parámetros importantes a tener en cuenta dentro de esta pantalla es la selección de la ubicación del sitio Weby del lenguaje de programación que se va a utilizar por defecto en la aplicación Web.

En la lista de opciones correspondiente a la ubicación indicamos el lugar en el que se va a albergar la aplicación Web, VS2010 nos ofrece cuatro posibilidades:

1.  Sistema de archivos: es la que se encuentra seleccionada por defecto y es la que utilizaremos para realizar losejemplos del texto, ya que se corresponde con el entorno de trabajo que hemos comentado. En este caso la aplica-ción Web va a residir en nuestro sistema de archivos local, la ruta por defecto en la que se van a situar la aplica-ción Web es C:\Documents and Settings\Usuario\ Mis documentos\Visual Studio 2010\

WebSites. Si seleccionamos esta opción se utilizará el servidor Web integrado dentro de VS 2010, es decir, seutilizará el servidor Web Cassini para ejecutar la aplicación Web, y el directorio anterior es el que utiliza por de-fecto como directorio de publicación del servidor Web, si lo comparamos con el servidor Web IIS sería como elconocido directorio c:\Inetput\wwwroot. Si pulsamos el botón Examinar podemos cambiar esta ruta paraindicar el lugar de nuestro disco duro en el que deseamos que resida la aplicación Web que vamos a crear. Al pul-sar este botón parece una ventana en la que también se puede ver en su lado izquierdo el resto de posibilidadespara ubicar el sitio Web.

Page 34: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 34

Figura 12

2.  IIS local: esta segunda posibilidad es la que teníamos cuando desarrollábamos aplicaciones Web con Visual Stu-dio .NET 2003/2002, y consiste en que nuestro sitio Web se va a localizar en un directorio virtual dentro del ser-vidor Web Internet Information Server que tenemos instalado en nuestro equipo. En el caso de no tener instaladoIIS o de utilizar el sistema operativo Windows XP Home Edition, esta posibilidad no se encontrará disponible. Siseleccionamos esta opción se utilizará el servidor Web IIS para ejecutar la aplicación en lugar del servidor inte-grado Cassini. Visual Studio 2010 configurará automáticamente el directorio virtual que va a contener nuestraaplicación, y se creará en el servidor Web IIS para que sea un directorio de inicio de aplicación, es decir, para quefuncione como una aplicación Web dentro de IIS.

Figura 13

3.  Sitio FTP: en este caso la aplicación Web no residirá en el sistema local, como ocurría en las opciones anteriores,sino que podrá encontrarse en un sistema remoto. La comunicación entre VS 2010 y el servidor remoto se realizaa través del protocolo FTP, en este caso tenemos que definir los parámetros necesarios para establecer a conexiónal sitio FTP (Figura 14). Tenemos que indicar el nombre del servidor, el número de puerto (por defecto el 21), eldirectorio de destino, en el que se creará la aplicación Web en el sitio FTP, y el usuario y la clave si fuera necesa-rio, en caso contrario seleccionaríamos la casilla de Inicio de sesión anónimo.

Page 35: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 35

Figura 14

4.  Sitio Web remoto: esta es la última de las opciones de selección de ubicación para nuestra aplicación Web, en

este caso, al igual que en el anterior la aplicación ASP .NET se va a localizar en un servidor IIS remoto. VS 2010accederá de forma remota el servidor Web que le indiquemos, tal como se ve en la siguiente figura, y configuraráautomáticamente el directorio virtual que se cree en el servidor Web para que sea un directorio de inicio de apli-cación, es decir, para que funcione como una aplicación Web dentro de IIS.

Figura 15

En nuestro caso, vamos a elegir la primera alternativa para crear nuestra aplicación Web, por lo tanto seleccionamos laruta en nuestro disco y pulsamos el botón Aceptar, también hay que señalar que en mi caso he seleccionado el lenguajeVB .NET como lenguaje a utilizar por defecto dentro de la aplicación Web.

En ese momento VS 2010 creará la aplicación Web y nos presentará una pantalla muy similar a la de la figura, en realidadla figura representa un fragmento de la ventana completa que nos ofrece VS 2010.

Page 36: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 36

Figura 16

Lo importante de aquí es ver los archivos que ha creado de forma automática VS 2010 en el sitio Web, se ha creado unapágina ASPX de inicio, llamada Default.aspx, un fichero de configuración, web.config, y una carpeta especial deASP .NET llamada App_Data, recordamos que esta carpeta va a contener los almacenes de datos utilizados por la apli-cación, podrán contener ficheros de SQL Server (.MDF), Access (.MDB), ficheros XML, etc.

Con esto ya tendríamos creada nuestra aplicación Web, lista para empezar a añadir páginas ASPX u otros elementos, que

comprenden el desarrollo de la aplicación Web.

 Modelo de separación de código

En este apartado vamos a seguir teniendo en mente la aplicación Web recientemente creada en el apartado anterior, yaque la página ASPX que se ha añadido de forma automática, nos va a servir para mostrar el modelo de separación decódigo que utiliza ASP .NET 4.0 para mantener la separación entre la lógica de negocio y la lógica de presentación.

Volvamos por lo tanto a nuestra aplicación Web que hemos creado con Visual Studio 2010 y centrémonos en la páginaDefault.aspx.

Si nos fijamos en la página ASPX veremos que el código fuente incluido en la página ASPX es mínimo, únicamente con-tiene la definición de un formulario Web dentro de la página. Si en el explorador de soluciones de VS 2010, pulsamossobre el símbolo más (+, indicador de que se puede desplegar) que aparece al lado del fichero Default.aspx vemosque se despliega y debajo aparece un nuevo fichero llamado Default.aspx.vb (ver en la Figura 17). Este es el fiche-ro de la clase asociado a la página ASPX, es la clase parcial en la que se va a implementar toda la lógica de negocio, de-

 jando la página ASPX para se encargue de la lógica de presentación.

Figura 17

A este mecanismo de separación de código, ya lo vimos en el primer capítulo de este texto, se le denomina Code-Behind.

También comentamos que ya existía este mecanismo en ASP .NET 1.x, pero en ASP .NET 4.0 ha sido mejorado, ya quese ha introducido el concepto de clase parcial (Partial Class). Esta nueva característica permite una lectura de la clasemás sencilla, ya que se genera menos código y es más sencillo de mantener, lo que se elimina en la clase parcial es la

Page 37: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 37

definición y declaración de todos los controles de la página ASPX, ya que al definirse como parcial indicamos que laclase final, a la que se compila, se encuentra dividida en varios ficheros, en este caso se trata de dos, la página ASPX y suclase asociada.

Como podemos ver el código de la clase también es mínimo, únicamente tiene las sentencias de definición de la clase yutiliza la cláusula Inherits para indicar la clase de la que hereda.

Si hubiéramos seleccionado el lenguaje C# el código correspondiente de la clase sería como el que se muestra a continua-ción.

u s i n g S y s t e m;u s i n g Sy s t e m. Da t a ;u s i n g S y s t e m. Co n f i g u r a t i o n ;u s i n g S y s t e m. Co l l e c t i o n s ;u s i n g S y s t e m. We b ;u s i n g S y s t e m. We b . S e c u r i t y ;u s i n g S y s t e m. We b . UI ;u s i n g S y s t e m. We b . UI . We b Co n t r o l s ;u s i n g S y s t e m. We b . UI . We b Co n t r o l s . We b Pa r t s ;u s i n g S y s t e m. We b . U I . Ht ml Co n t r o l s ;

p u b l i c p a r t i a l c l a s s D e f a u l t : S y s t e m. We b . UI . P a g e{

p r o t e c t e d v o i d P a g e _ L o a d ( o b j e c t s e n d e r , E v e n t A r g s e ){

}}

Código fuente 3

Este es el modelo de programación de páginas ASPX que ofrece por defecto VS 2010, aunque al añadir una nueva páginaASPX nos permite seleccionar, mediante un casilla, si queremos hacer uso del modelo de separación de código o no, sidesmarcamos esta casilla se empleará para la página ASP .NET el modelo de código que encontramos en las antiguasversiones ASP hasta de la aparición de la tecnología .NET, lo que se denomina código en línea (inline coding). Literal-mente, tal como vemos en la imagen inferior en la casilla aparece el texto Colocar el código en un archivo independiente.

Figura 18

Si desmarcamos la casilla al añadir una nueva página ASPX se utilizará otro modelo de código, este modelo de código sedenomina código en línea y en este caso no existe separación entre la lógica de presentación y la de negocio, todo el códi-go se encuentra en la página ASPX, y por lo tanto no se añadirá un fichero de clase asociado a la página ASPX, es decir,no existirá la clase parcial y únicamente se creará en el sitio Web de la aplicación un fichero ASPX.

Lo recomendable es utilizar siempre el modelo de separación de código basado en las clases parciales.

La forma que tiene ASP .NET 4.0 de indicar la asociación de la clase parcial con la página ASPX, es mediante dos pará-metros de la directiva Page, es decir, de la directiva de la página. Para indicar el fichero de la clase se utiliza el atributo

Page 38: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 38

CodeFile y para indicar el nombre de la clase que se implementa el fichero utilizamos el atributo Inherits, con esteatributo estamos indicando que la página ASPX hereda de la clase que se encuentra definida en la clase parcial asociada.

Por lo tanto en la página ASPX del ejemplo anterior aparecería el siguiente código (como siempre primero en VB .NET yluego en C#).

< %@ P a g e L a n g u a g e = " V B " Au t o Ev e n t Wi r e u p =" f a l s e "Co d e F i l e =" De f a u l t . a s p x . v b " I n h e r i t s = " _ De f a u l t " %>

< %@ P a g e L a n g u a g e = " C# " A u t o Ev e n t Wi r e u p =" t r u e "

Co d e F i l e =" De f a u l t . a s p x . c s " I n h e r i t s = " De f a u l t " %>Código fuente 4

Creación de nuestra primera página ASP .NET 4.0

Para terminar este capítulo vamos a crear la típica página ASPX de “Hola Mundo”. Partimos de que ya tenemos nuestraaplicación Web creada, apara añadir una página ASPX pulsamos con el botón derecho del ratón sobre la solución y selec-cionamos la opción de menú Agregar nuevo elemento, con lo que aparece la ventana ya mostrada anteriormente. En estaventana, de los múltiples elementos que podemos añadir a nuestra aplicación Web, seleccionamos el elemento Web

Forms, indicamos el nombre de la página ASPX y el lenguaje a utilizar para la misma.

Como ya hemos comentado anteriormente debemos dejar la casilla marcada de Colocar el código en un archivo indepen-diente, para utilizar el modelo de separación de código, y también podemos marcar la casilla Seleccionar la página prin-

cipal. Veamos que quiere decir esto, primero debemos aclarar que el término  página principal es el que se ha utilizadopara traducir el mecanismo de Master Pages, es decir, el mecanismo de páginas maestras.

Recordamos al lector que una página maestra la podíamos utilizar para que todas nuestras páginas tengan un aspecto simi-lar y coherente dentro de la aplicación Web, con esto conseguimos, además de mantener una coherencia y uniformidad entodo el aspecto del sitio Web, un mantenimiento sencillo en lo que al aspecto y presentación de sitio Web se refiere, yaque si necesitamos cambiar alguna característica del sitio Web no tenemos que ir página a página, solo lo cambiaremos enla página maestra. Además de darles este uso a las Master Pages, también pueden contener código, por lo tanto también sepueden añadir funcionalidades comunes a toda la aplicación Web.

Realizado este inciso, volvamos al momento en el que se iba a añadir una página ASPX a nuestra aplicación. Al marcar lacasilla Seleccionar la página principal, se nos permite asignar a la nueva página ASPX que vamos a crear, una páginamaestra. De esta manera al darle al botón Agregar aparecerá una ventana como la de la figura en la que indicaremos lapágina maestra que se va a asignar a la página ASPX, y la seleccionaremos entre las existentes en nuestra aplicación Web.En el ejemplo que se muestra se va a utilizar la página maestra MasterPage.master. De momento no vamos a ade-lantar nada más sobre las Master Pages, en el capítulo correspondiente veremos esta novedad de ASP .NET 4.0 con todolujo de detalles.

Page 39: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 39

Figura 19

Ya tenemos creada nuestra página ASPX, ahora en a vista de diseño de VS 2010 vamos a arrastrar desde el cuadro deherramientas dos controles Web estándar, un control Label y un control Button. La funcionalidad de muestra páginava a ser muy sencilla, al pulsar el botón aparecerá el mensaje “Hola Mundo” en la etiqueta.

Una vez añadidos los dos controles, el código fuente de la página quedaría de la siguiente forma. Este sería la lógica depresentación (Código fuente 5).

< %@ P a g e L a n g ua g e =" V B " A u t o Ev e n t Wi r e u p =" f a l s e " Co d e Fi l e = " H o l a Mu n d o . a s p x . v b " I n h e r i t s = " H o l a Mu n d o " %>< ! D OCT YPE h t ml P UB L I C " - / / W3 C/ / D T D XHT ML 1 . 0 T r a n s i t i o n a l / / E N" " h t t p : / / www. w3 . o r g / T R/ x h t ml 1 / D TD/ x h t ml 1 - t r a n s i t i o n a l . d t d " >

< h t ml x ml n s = " h t t p : / / www. w3 . o r g / 1 9 9 9 / x h t ml " >< h e a d r u n a t = " s e r v e r " >

< t i t l e >P á g i n a s i n t í t u l o < / t i t l e >< / h e a d >< b o d y >

< f o r m i d = " f o r m1 " r u n a t = " s e r v e r " >< d i v >

< a s p : L a b e l I D= " L a b e l 1 " r u n a t = " s e r v e r " T e x t = " L a b e l " >< / a s p : L a be l >< a s p : Bu t t o n I D = " B u t t o n 1 " r u n a t = " s e r v e r " T e x t = " B u t t o n " / > < / d i v >

< / f o r m>< / b o d y >

< / h t ml >Código fuente 5

Si hacemos doble clic sobre el botón en la vista de diseño, automáticamente VS 2010 nos llevará al código de la claseparcial Code-Behind para que demos el contenido al método Button1_Click, que va a ser el manejador del eventoClick del botón del formulario Web. Dentro de este método vamos a incluir una única línea de código cuya función va aser asignar a la propiedad Text del objeto Label el valor “Hola Mundo”. Esta sería la lógica de negocio, y el códigofuente de la clase sería el siguiente.

P a r t i a l C l a s s Ho l a Mu n d oI n h er i t s Sy s t e m. We b . U I . P a g e

P r o t e c t e d S u b Bu t t o n 1 _ Cl i c k ( B y Va l s e n d e r A s Ob j e c t , _  

B y V a l e A s S y s t e m. E v e n t A r g s ) _  H a n d l e s Bu t t o n 1 . Cl i c k

L a b e l 1 . T e x t = " Ho l a Mu n d o "E n d S u b

E n d Cl a s s

u s i n g S y s t e m;u s i n g Sy s t e m. Da t a ;u s i n g S y s t e m. Co n f i g u r a t i o n ;u s i n g S y s t e m. Co l l e c t i o n s ;u s i n g S y s t e m. We b ;u s i n g S y s t e m. We b . S e c u r i t y ;u s i n g S y s t e m. We b . UI ;u s i n g S y s t e m. We b . UI . We b Co n t r o l s ;u s i n g S y s t e m. We b . UI . We b Co n t r o l s . We b Pa r t s ;

u s i n g S y s t e m. We b . U I . Ht ml Co n t r o l s ;

p u b l i c p a r t i a l c l a s s Ho l a Mu n d o 2 : S y s t e m. We b . U I . P a g e{

p r o t e c t e d v o i d B u t t o n 1 _ Cl i c k ( o b j e c t s e n d e r , E v e n t A r g s e ){

L a b e l 1 . T e x t = " Ho l a Mu n d o " ;}

}

Código fuente 6

Ahora ya podemos ejecutar la página ASPX dentro de nuestra aplicación, para ello pulsaremos el botón con el iconode la barra de menú de VS 2010, este botón indica el inicio de depuración de nuestra aplicación Web. La primera vez que

ejecutemos nuestra aplicación Web de esta manera aparecerá una ventana como la de la figura, que nos indica que es ne-cesario habilitar el modo de depuración en el fichero de configuración (web.config) de nuestra aplicación Web. En

Page 40: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 40

nuestro caso permitiremos que se modifique de forma automática el fichero web.config para habilitar la depuración,ya que la tarea de depuración es indispensable cuando estamos hablando del desarrollo de cualquier tipo de aplicación.

Figura 20

Veremos que al iniciar la ejecución de la aplicación, VS 2010 arranca el servidor Web integrado Cassini, que aparecerá enla barra de tareas de Windows, y la primera vez aparecerá con un mensaje indicando que se ha iniciado, como se puedever en la figura.

Figura 21

Ya en este momento tenemos en ejecución nuestra aplicación Web y veremos en el navegador nuestra primera páginaASP .NET 4.0. Si pulsamos el botón de nuestra página obtendremos algo parecido a la siguiente figura.

Figura 22

Como se ha podido comprobar cuando iniciamos la ejecución de nuestra aplicación Web, automáticamente VS 2010 haarrancado el sitio Web y ha cargado la página HolaMundo.aspx sin que nosotros le indiquemos nada, esto es así por-que si no indicamos una página de inicio para la solución VS 2010 ejecutará la página en la que nos encontremos. Paraindicar una página de inicio determinada, en el explorador de soluciones pulsaremos con el botón derecho del ratón sobrela página ASPX que queremos que sea nuestra página de inicio, y seleccionamos la opción de menú  Establecer como

 página de inicio.

Page 41: Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo)

5/14/2018 Desarrollo de Aplicaciones Web Con ASP .NET 4 (Ejemplo) - slidepdf.com

http://slidepdf.com/reader/full/desarrollo-de-aplicaciones-web-con-asp-net-4-ejemplo

 Página | 41

Con esta última observación se da por concluido este capítulo en el que nos hemos familiarizado con el entorno de desa-rrollo que nos ofrece VS 2010 creando una página ASPX desde cero. En el siguiente capítulo se comentarán una serie degeneralidades sobre el desarrollo de aplicaciones ASP .NET 4.0, como por ejemplo, los Web Forms y el tratamiento deeventos, que nos servirá de base para los siguientes capítulos en los que se empezarán a ver los controles HTML y contro-les Web de servidor de ASP .NET 4.0.

Caso práctico

Todavía no hemos visto demasiadas funcionalidades de las páginas ASPX, por lo tanto este caso práctico va a resultarmuy sencillo.

PlanteamientoSe pide crear una nueva aplicación Web con VS 2010, y añadir una página ASPX con el modelo de separación código yque utilice el lenguaje VB .NET. Esta página debe mostrar un mensaje al pulsar un botón.

Una vez creada la página se debe ejecutar y comprobar su funcionamiento.