Top Banner
Generación paso a paso de un sistema de biblioteca usando C# y Visual Studio 2005© Versión 2.7 (Visual Studio 2005) MI. Jesús Muñoz Torres [email protected] Microsoft Certified Proffesional on Windows & Web applications MCP | MCTS | MCAD | MCT ©Desarroll@ Introducción ............................................................................................................................ 2 El sistema................................................................................................................................ 2 El sitio Web ............................................................................................................................ 2 Aspecto general de la aplicación ............................................................................................ 4 Creación de una página maestra ......................................................................................... 4 Páginas principal y de registro. .......................................................................................... 6 La seguridad ........................................................................................................................... 6 Seguridad .NET para el sitio Web ...................................................................................... 6 Los controles de seguridad ................................................................................................. 8 La base de datos ...................................................................................................................... 8 Modificación de la base de datos autogenerada ................................................................. 8 El módulo de mantenimiento a libros y autores. .................................................................. 10 Generación de los objetos de negocio que controlan las tablas ........................................ 10 Creación de la página que muestra los catálogos de libros y autores ............................... 12 Formulario de solicitud y entrega de libros. ......................................................................... 15 Módulo de entrega y solicitud de libros ........................................................................... 15 El menú de navegación ......................................................................................................... 19
20

biblioteca

Oct 31, 2014

Download

Documents

Jenny Londoño

biblioteca
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: biblioteca

Generación paso a paso de un sistema de biblioteca usando C# y Visual Studio 2005© Versión 2.7 (Visual Studio 2005) MI. Jesús Muñoz Torres [email protected] Microsoft Certified Proffesional on Windows & Web applications MCP | MCTS | MCAD | MCT ©Desarroll@

Introducción ............................................................................................................................ 2

El sistema ................................................................................................................................ 2 El sitio Web ............................................................................................................................ 2

Aspecto general de la aplicación ............................................................................................ 4 Creación de una página maestra ......................................................................................... 4 Páginas principal y de registro. .......................................................................................... 6

La seguridad ........................................................................................................................... 6

Seguridad .NET para el sitio Web ...................................................................................... 6 Los controles de seguridad ................................................................................................. 8

La base de datos ...................................................................................................................... 8

Modificación de la base de datos autogenerada ................................................................. 8 El módulo de mantenimiento a libros y autores. .................................................................. 10

Generación de los objetos de negocio que controlan las tablas ........................................ 10 Creación de la página que muestra los catálogos de libros y autores ............................... 12

Formulario de solicitud y entrega de libros. ......................................................................... 15

Módulo de entrega y solicitud de libros ........................................................................... 15 El menú de navegación ......................................................................................................... 19

Page 2: biblioteca

Introducción Este material se crea tomando como base el tutorial “Creando una aplicación en C# de principio a fin”, material que alguna vez encontré en la Universidad .NET. Aquel material usaba técnicas del .NET Framework 1.1 con el que aprendí en un instante casi todo lo más importante del desarrollo con esa versión de la tecnología .NET. Ahora, es tiempo de migrar a .NET Framework 2.0. Así que sin más ni más comencemos.

El sistema En resumen, se trata de un sistema de biblioteca que permite hacer préstamos de libros a la vez que actualiza el inventario con cada préstamo o devolución. Es posible dar mantenimiento al catálogo de autores, al catálogo de libros y también es posible administrar usuarios. Cuenta con seguridad, de manera que solo el usuario administrador puede dar mantenimiento a libros y autores. Cualquier usuario puede darse de alta, pero no será autorizado a pedir libros a menos que un usuario asistente o administrador lo active.

El sitio Web Antes que nada, necesitamos un sitio Web que aloje nuestro sistema, así que generemos uno. Antes de comenzar

1. El sitio se va a montar en una carpeta del sistema y no en http. De esta manera podemos llevarnos la aplicación a cualquier otro sistema.

2. Usaremos el nombre Default.aspx para nombrar a las páginas principales de cada módulo.

1. Iniciar Visual Studio 2005 2. Generar un nuevo proyecto

a. En el menú File, seleccionar “New Project” y seleccionar solución en blanco, guardarla en la carpeta C:\Comun\Biblioteca2005 y darle el nombre Biblioteca2005. Observar la figura para más detalles

Ilustración 1. Creación de una solución

b. Presiona Ok. (Ya se, ya se, este paso está de más…, pero alguna vez estaba ya en el paso 10 de 4 de un tutorial en una clase y un alumno me llama y dice - ¿Ya le doy <Enter>? - … apenas estaba en el paso 1 )

Page 3: biblioteca

c. En el explorador de soluciones solo hay un elemento Solution, selecciona “New Web Site” de la primera opción del menú contextual de este elemento. (o sea, “selecciona el elemento solution que dice „Biblioteca 2005‟ con el derecho del ratón, luego Add y luego New Web Site”). Y esto ¿para qué? Bueno, si y luego se me ocurre añadir un proyecto de Windows o un Servicio Web o Windows solo lo añado a la solución y así esto forma parte de un solo producto.

d. Nómbralo como se muestra:

Ilustración 2. Creación de un sitio web

e. No olvides seleccionar el lenguaje C# y crearlo en File System 3. Elimina la página Default.aspx que aparece en forma predeterminada. (No sirve, vamos a

generar una página maestra que aloje a otra Default.aspx)

4. Generemos 3 carpetas en el sitio web seleccionando New Fólder del menú contextual del sitio Web. Van a contener los elementos visibles a cada rol de usuario.

Ilustración 3. Creación de folders para la aplicación

Page 4: biblioteca

Aspecto general de la aplicación Para que la aplicación tenga un aspecto uniforme en todas sus páginas vamos a usar Páginas principales o “Master Pages” que funcionan como una plantilla. Procedamos.

Creación de una página maestra Antes de comenzar

3. Crearemos una página maestra usando marcas div en vez de tablas, ¿porqué? Porque el estandar www indica que el uso de tablas debe ser únicamente para presentar datos tabulados y no para el ajustar el aspecto de la página. Además los lectores de Internet par discapacitados leen el elemento table con un nombre, eso es un mal diseño (y una descortesía)

1. Genera un tema con una hoja de estilo Este tema contiene la configuración para cada área

marcada con la propiedad id de cada div. Así que habrá una regla de estilo por cada id en cada div.

a. Crea una nueva carpeta en el sitio con Menu contextual – Add ASP.NET folder – Theme, Nómbralo como “Biblioteca2005”

b. Agrega un elemento Style Sheet al fólder creado en el inciso “a” no importa el nombre que le pongas, todas las hojas de estilo que pongas ahí son cargadas. Esto abre un editor de estilos que contiene “body”

c. En el menú contextual de área de trabajo selecciona “Add Style Rule” d. Selecciona la marca Element ID y escribe el nombre “Titulo”, agrega esto con el

botón “ > “ y presiona OK e. Ahora en el menú contextual del texto “#Titulo” selecciona “Build Style”, en Position

ajusta las propiedades como se muestra:

Ilustración 4. Propiedades del estilo #Titulo

Aquí está el resto de la hoja de estilo:

body {

}

#Titulo

{

left: 0px;

width: 100%;

position: absolute;

top: 0px;

height: 150px;

background-color: sienna;

}

#ColumnaIzquierda

{

left: 0px;

width: 150px;

position: absolute;

top: 150px;

height:400px;

background-color: chocolate;

}

#ContenidoPrincipal

{

left: 150px;

width: 100%;

position: absolute;

top: 150px;

height: 400px;

background-color: transparent;

}

#PieDePagina

{

left: 0px;

width: 100%;

position: absolute;

top: 550px;

Page 5: biblioteca

height: 150px;

background-color: sienna;

}

#AreaDeRegistro

{

width: 300px;

position: absolute;

top: 0px;

height: 150px;

right: 0px;

background-color: sienna;

}

2. Añade al sitio un nuevo elemento de tipo “Master page” con el nombre predeterminado en

C# y con código en archivo separado.

Ilustración 5. Crear una página maestra

3. Vamos a crear cuatro áreas: Encabezado, ColumnaIzquierda, Contenido y AreaDeRegistro.

4. Abre el modo “Source” de MasterPage.master y trabajemos con algo de HTML. Cambia su contenido por lo que se muestra a continuación:

<%@ Master

Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage"

EnableTheming="true"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-

transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Sistema de biblioteca con Visual Studio 2005</title>

<!-- Este link es temporal, al terminar de desarrollar la aplicación elimínalo, es solo para diseño

-->

<link href="App_Themes/Biblioteca2005/StyleSheet.css" rel="stylesheet" type="text/css" />

</head>

<body>

<form id="form1" runat="server">

<div id="Titulo">

</div>

<!-- Contenido de la columna izquierda -->

<div id="ColumnaIzquierda">

</div>

<!-- Contenido del área principal -->

<div id="ContenidoPrincipal">

<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">

</asp:contentplaceholder>

</div>

<!-- Contenido del pie de página -->

<div id="PieDePagina">

</div>

<!-- Contenido del área de registro -->

<div id="AreaDeRegistro">

</div>

</form>

</body>

</html>

Page 6: biblioteca

Páginas principal y de registro. La página principal es Default.aspx. Genera dos nuevas formas Web seleccionando “Add new item” del menú contextual del sitio. Una se va a llamar Default.aspx y la otra Login.aspx (esta última es necesaria debido al contenido con seguridad de la aplicación), márcales la opción seleccionar Master Page y selecciona la única Master Page que hay, esto hace que tengan el mismo aspecto. Del menú contextual de Default.aspx selecciona “Set As Start Page”

La seguridad La seguridad que vamos a generar contiene una base de datos en SQLServer, tablas, roles, usuarios, permisos, encriptación y reglas de integridad. Comúnmente todo esto toma varios días o semanas en estar listo, (Bueno, tal vez unas horas, pero de que es tardado es tardado. Tiempo estimado para este paso: 10 minutos. ¿Va? Cuéntale… Más notas sobre esto al final de este Paso a paso.

Seguridad .NET para el sitio Web Antes de comenzar

4. La seguridad se va a montar en una carpeta de la propia aplicación, esto significa que la base de datos será local y estará en en la carpeta App_Data. No es obligatorio que así sea, así que si prefieres usar un Server de Oracle, de SQLServer 2005, de MySQL, etc.. solo tienes que correr asp_regsql.exe desde el indicador de comandos de Visual Studio y configurar esta opción.

1. Ir al sitio de administración de la aplicación con: 2. Seleccionar ASP.NET Configuration del menú Website

Ilustración 6. Menú de configuración de ASP.NET

a. O más fácil, presiona el botón del explorador de soluciones.

Page 7: biblioteca

b. Una vez en este sitio se ve algo como:

Ilustración 7. Herramienta de administración del sitio

3. Selecciona “Security” (se tarda un rato después de esto, en el fondo se está creando una base de datos, tablas, etc.)

4. Selecciona y marca 5. En el paso 3 presiona Next 6. En el paso 4 activa la casilla “Enable roles for this Web site” 7. Añade 2 roles: Administrador y Asistente. (No añadimos Usuario porque ese no necesita

rol) 8. Ahora aparece un elemento para crear nuevo usuario. Crea 3 usuarios: Administrador,

Asistente1 y Usuario1 (anota las contraseñas por algún lado, luego se te olvidan...y observa que la primer letra va con MAYÚSCULA)

9. Una vez creados los usuarios, presiona Next 10. Asignemos permisos a las carpetas, observa que al expandir el árbol se ven.

a. A la carpeta de Administrador agrega: (Es muy importante que se haga en el orden que se indica)

i. Anonymous Users – Deny – Add This Rule ii. Role Administrador – Allow – Add This Rule iii. All Users – Deny – Add This Rule

b. A la carpeta de Asistente agrega: i. Anonymous Users – Deny – Add This Rule ii. Role Asistente – Allow – Add This Rule iii. Role Administrador – Allow – Add This Rule iv. All Users – Deny – Add This Rule

c. A la carpe de Usuario solo deniega a Anonymous Users d. Presiona Finish e. Selecciona ahora el link Manage Users f. De cada usuario selecciona su link Edit roles g. Administrador es Administrador y Asistente, márcalos h. Asistente1 solo es asistente, marca solo asistente i. Usuario1 no tiene rol, es un simple usuario no anónimo. j. Presiona Back y cierra el explorador. Terminamos.

La seguridad en .NET 2.0 es una maravilla ahorradora de tiempo, si se utiliza esta herramienta dejamos el trabajo a .NET. Ahora, se ha creado una base de datos ASPNETDB.MDF y algunos archivos web.config en cada carpeta que necesite seguridad

1. De esta manera solo los usuarios autorizados pueden

acceder a ciertas partes de la aplicación, ver partes del menú, usar controles, abrir páginas, etc. Esta seguridad ya incluye encriptación y capacidad de recuperación de contraseñas y añadir usuarios. Además de lo anterior es

1 Los cambios en el explorador de soluciones solo serán visibles hasta que refresques el contenido con .

Ilustración 8. Seguridad

Page 8: biblioteca

posible usar la base de datos como cualquier base común, podemos añadirle más tablas o más campos a las tablas que ya existen, crear vistas, procedimientos almacenados, etc. Si al final es necesario migrar esta base de datos un servidor, basta con cambiar la cadena de conexión y configurar el sitio para que lea la base desde otro lado, pero eso ya es otro tema.

Los controles de seguridad

1. Abre la Master Page 2. Arrastra un control LoginView de la paleta Login hasta el “area de registro. 3. Del smart tag de este control selecciona view: Anonymous template, esta será la plantilla que

se mostrará a un usuario que no ha iniciado sesión en el sistema. 4. Arrastra un control Login al interior del LoginView 5. Añade al control LoginView de la Master Page un control HyperLink justo debajo del control

Login.Cambia sus propiedades Text: “Soy nuevo usuario”, NavigateURL:”~/Registro.aspx”. 6. Ahora selecciona la vista “LoggedIn template” del LoginView 7. Escribe dentro: “Bienvenido” 8. Añade a la derecha del texto un control LoginName. Esto pondrá el nombre del usuario ahí. 9. Justo debajo del LoginName arrastra un control LoginStatus el cual nos va a permitir cerrar

sesión en el sistema. 10. Alinea todos los componentes de esta sección a la derecha. 11. Terminamos.

La base de datos Es momento de modificar la base de datos que generó el asistente de seguridad para que contenga los datos necesarios. Los datos que se necesitan son: Id del usuario (o matrícula de alumno/profesor/usuario), nombre del usuario, apellidos paterno y materno del usuario, dirección del usuario, teléfono del usuario, cargo del usuario, permisos del usuario, rol del usuario, nombre completo de autor, id del autor, id del libro, isbn, cantidad en el inventario (libros totales con los que cuenta la biblioteca), cantidad en estantes (libros disponibles), título del libro, fecha del préstamo.

Modificación de la base de datos autogenerada Antes de comenzar

Como veremos, no todos los datos van en una sola tabla, hay que normalizar y generar datos en las tablas correspondientes.

Page 9: biblioteca

1. Abre el explorador de servidores y selecciona la base ASPNETDB.MDF 2. Generemos la tabla biblio_autores, selecciona el nodo “tables” y con el menú contextual

añade una nueva tabla.

3. Modifícala como se muestra y marca el id como identity.(en las propiedades de abajo):

Ilustración 9. La creación de la tabla biblio_autores

4. Crear la tabla biblio_libros como se muestra:

Ilustración 10. Creación de la tabla biblio_libros

5. Crear la tabla solicitudes como se muestra:

Ilustración 11. Creación de la tabla biblio_solicitudes

6. Ahora modificaremos la tabla aspnet_Users ya que .NET la generó pero faltan algunas columnas como nombre, apaterno, amaterno, direccion, telefono. (Sin acentos ¡eeeeh!).

Page 10: biblioteca

7. Modifica esa tabla como se muestra:

Ilustración 12. Tabla aspnet_Users modificada

8. ¡Listo! Tenemos ya la base de datos completa.

El módulo de mantenimiento a libros y autores. Este módulo servirá para añadir autores y libros (recuerda que hasta el momento la base de datos no tiene nada). Usaremos técnicas de .NET 2.0 como ObjectDataSource, DataSet, GridView y FormView.

Generación de los objetos de negocio que controlan las tablas Antes de comenzar

Anteriormente se usaba el modelo adapter, command, conection. Ahora se trabaja de una manera diferente, un poco más ágil, pero que internamente sigue usando adapters.

1. Con el menú contextual de la aplicación añadir un nuevo elemento de tipo DataSet y ponerle de nombre ds_autores, cuando pregunte si lo pone en la carpeta App_Code, aceptar. (Realmente lo que se va a agregar es una clase)

Ilustración 13. Creando un DataSet

Page 11: biblioteca

2. Aparece la siguiente pantalla:

Ilustración 14. Pantalla que muestra el nombre de la conexión

3. Presiona Next y acepta el nombre de la conexión predeterminada, vuelve a presionar Next 4. De las tres opciones selecciona, Create New Stored Procedures. Next 5. Presiona el botón Query Builder para crear una sentencia en diseño. 6. De la lista, selecciona biblio_autores y presiona Add y luego Close, marca todos los

campos menos el de *. Modifica el Query para que ahora sea: SELECT idautor, nombre FROM biblio_autores WHERE (nombre LIKE „%‟ + @nombreAutor + '%') Si copias y pegas este texto es necesario reescribir las comillas en el QueryBuilder debido a que las comillas de Word son otro

caracter diferente

7. Presiona Next, cambia los nombres de los procedimientos almacenados a biblio_InsertarAutores en vez de NewInsertCommand (con los otros nombres haz lo mismo)

8. Presiona Next, Quita la marca de Fill, (es para llenar, no queremos llenar). 9. El nombre del método que se generará cámbialo de “GetData” a

“ObtenerAutoresPorNombre”, presiona Next, y luego Finish. 10. Edita el procedimiento almacenado “biblio_ActualizarAutores” en la base de datos

ASPNETDB.MDF que está en el explorador de servidores en el nodo “stored procedures” para que quede así:

11. Elimina el parámetro @idautor de la colección de parámetros de UpdateParameters de UpdateCommand en las propiedades del dataAdapter del DataSet ds_autores.xsd

12. Guarda los cambios y cierra el DataSet. 13. Genera otro DataSet ds_libros pero ahora usa la tabla biblio_libros y cambia el WHERE

por “idautor= @idDelAutor”, intuye los nombres de cada elemento ;) 14. El procedimiento almacenado biblio_ActualizarLibros de ds_libros se muestra:

Page 12: biblioteca

15. Elimina el parámetro @idlibro de la colección de parámetros de UpdateParameters de UpdateCommand en las propiedades del dataAdapter del DataSet ds_libros.xsd

16. Terminamos.

Creación de la página que muestra los catálogos de libros y autores Antes de comenzar

1. Crea un archivo Catalogos.aspx en la carpeta Administrador. (No olvides la Master Page) 2. Agrega los siguiente componentes en ese orden

a. Un TextBox, id:txtNombreAutor, Text:”Inserta aquí tu criterio de búsqueda” b. Un botón id:btnBuscarAutores, Text: “Buscar autores” c. Un botón btnAgregarUnAutor, Text: “Agregar autor” d. Un GridView gvAutores, Width:100px, PageSize: 5 e. Un FormView fvAutores

3. Selecciona el smart tag (El triangulito en la esquina superior derecha) y selecciona “Choose Data Source” y del DropDown selección <New Datasource>

4. De la lista de tipos de Data Source selecciona Object y especifia como nombre “DsAutores”. Este será la fuente de datos de nuestro GridView

Ilustración 15. Tipos de data source (Object)

5. Cuando pida seleccionar el objeto de negocios selecciona el TableAdapter de ds_autores. Presiona Next

6. Deja los valores de los métodos como están y presiona Next 7. Te pide definir la forma de llenar el parámetro “nombreAutor”, lo vamos a llenar con el

TextBox txtNombreAutor, así que selecciona a. Parameter source: Control b. Control ID: txtNombreAutor c. Default Value: *

8. Presiona Finish. 9. Del smart tag de gvAutores marca

a. Enable Paging b. Enable Editing

Page 13: biblioteca

c. Enable Deleting d. Enable Sorting e. Enable Selection

10. Del smart tag del fvAutores selecciona Cose Data Source y selecciona DsAutores 11. Cambia las propiedades del fvAutores a:

a. DefaultMode: Insert b. Visible: false

12. En el código del evento clic de btnBuscarAutores escribe “DataBind();” 13. Modifica el código del evento clic del btnAgregarAutor como sigue: (no lo escribas tal como

está, primero haz doble clic sobre el botón para generar el método)

14. En el método ItemInserted de fvAutores poner el siguiente código: (El área para teclear este método aparece cuando haces doble clic sobre el nombre del método ItemInserted de las propiedades de fvAutores [F4 + clic en el icono del rayo])

15. Ahora que ya tenemos el módulo de autores generemos el módulo de libros. (En la misma forma Catalogos.aspx solo que más abajo)

Agrega los siguientes elementos: a. Un botón btnAgregarUnLibro, Text: “Agregar libro” b. Un GridView gvLibros, Width:100px, PageSize: 5 c. Un FormView fvLibros

16. Selecciona el smart tag de gvLibros(El triangulito en la esquina superior derecha) y selecciona “Choose Data Source” y del DropDown selección <New Datasource>

17. Selecciona Object como el tipo de Data Source y nómbralo DsLibros. 18. Presiona Next y deja los métodos como están, presiona Next 19. Enlaza el parámetro idDelAutor con el control gvAutores. (observa que automáticamente se

activa la propiedad SelectedValue, esto permitirá seleccionar los libros del autor seleccionado en el grid de autores). Presiona Finish.

20. Habilita paging, sorting, editing y deleting. 21. Cambia las propiedades de fvLibros así:

a. DefaultMode: Insert b. Visible: false

22. Activa la plantilla InsertItem de fvLibros y cambia el primer TextBox por un DropDownList 23. Con smart tag del DropDown cambi su DataSource a dsAutores con data field en nombre y

valuefield en idautor. 24. Luego con el menú contextual del DropDown activa SelectedValue como propiedad

“Custom binding” con la expresión Bind("idautor"). 25. Copia de fvLibros el contenido de IntemInserting template a EmptyTemplate 26. En el evento clic de btnAgregarLibro escribe:

27. En el evento ItemInserted de fvLibros y en evento clic de “Cancelar” de la plantilla Insert escribe:

Page 14: biblioteca

28. En el evento Load de la forma escribe:

29. Ponle un poco de imaginación al acomodo, colores, y otros adornos que hagan tu página más agradable. (Por favor… no uses colores chillantes ni tipos de letras raras, solo sé simple y práctico). Así se ve mi página en el explorador después de agregar algunos autores y libros:

Ilustración 16. El módulo de catálogos funcionando

Page 15: biblioteca

30. Y así se ve el modo diseño:

Ilustración 17. El diseño del módulo de catálogos

31. Terminamos

Formulario de solicitud y entrega de libros. Para este formulario necesitaremos presentar al usuario una lista de los libros que ha solicitado, cada uno con un botón “Entregar” que permita realizar la entrega. También se presentará la lista de autores con caja de búsqueda y libros de cada autor con un botón “Solicitar” en cada libro que permita hacer la solicitud de préstamo. Hay dos condiciones que cumplir:

a) No se debe prestar el libro a alguien que ya lo tiene solicitado. b) Si ya no hay ejemplares disponibles, indicárselo al usuario.

Módulo de entrega y solicitud de libros

1. Genera un nuevo dataset llamado ds_solicitudes que genere nuevos procedimientos almacenados y con el Query builder genera la siguiente sentencia (o escríbela en el área correspondiente):

Page 16: biblioteca

2. Llama “Biblio_SeleccionarLibrosSolicitados” al Query creado. 3. El nombre del método de selección es: ConsultarLibrosSeleccionados 4. Selecciona el nodo “Stored Procedures” de la base ASPNETDB.MDF y en su menú

contextual selecciona “New Procedure”. 5. Inserta el siguiente código:

6. Genera otro procedimiento almacenado y escribe lo siguiente:

Page 17: biblioteca

7. Genera en la carpeta Usuarios una nueva forma llamada “SolicitarLibro”. 8. Copia los controles de “Aministrador/Catalogos.aspx” en esta forma 9. Elimina los botones btnAgregar y btnAgregarLibro 10. En gvAutores y gvLibros solo deja activa la opción “Allow Selection” y “Allow Paging”. 11. Cambia la leyenda del botón “Select” del grid de libros a “Solicitar” desde la opción “Edit

colums” del smart tag de gvLibros 12. Añade al principio de la forma un grid gvLibrosSolicitados y ajusta Width a 100% 13. Selecciona el smartTag y genera un nuevo datasource 14. Acepta los valores predeterminados y asigna el enlace del parámetro nombreUsuario a la

variable de sesión “nombreUsuario”. 15. Cambia la leyenda del botón “Select” a “Entregar” 16. Añade el siguiente campo a la clase de la forma:

static String cadenaDeConexion = ConfigurationManager.ConnectionStrings["ASPNETDBConnectionString"].ConnectionString;

17. Añade lo siguiente al manejador del evento load: Session["nombreUsuario"] = this.User.Identity.Name;

18. En el manejador del evento clic del botón btnBuscaAutores escribe: DataBind();

19. Selecciona gvLibrosSolicitados y muestra la lista de eventos en la ventana de propiedades. 20. Haz doble clic sobre el evento SelectedIndexChanged 21. En este manejador escribe el siguiente código:

Page 18: biblioteca

22. En el manejador del evento SelectedIndexChanged del gridView gvLibros escribe lo siguiente:

Page 19: biblioteca

23. Aspecto del modo diseño de la forma:

24. Y corriendo…

25. Terminamos

El menú de navegación

Page 20: biblioteca

1. Añade un elemento Site Map a la raiz del sitio 2. Modifícalo para que se vea como sigue (observa el atributo roles):

3. Abre el archivo de configuración general web.config y modifícalo para que incluya lo siguiente dentro de la propiedad <system.web>

4. Añade un elemento SiteMapDataSource (smdsMapaDelSitio) a la Master Page 5. Añade en la columna izquierda un control TreeView tvMenuDelSitio 6. Selecciona “Cose Data Source” del smart tag de tvMenuDelSitio, selecciona

smdsMapaDelSitio. 7. Modifica algunas propiedades de tvMenuDelSitio.

a. ShowLines: True b. ExpandDepth : 1

Ejecuta el sistema. Y Listo. Terminamos. Ahora te toca ponerle detalles…

Si tienes comentarios sobre este tutorial… (errores de dedo, lógicos o de código) contáctanos. ¿Necesitas asesoría, desarrollo, entrenamiento o personal entrenado en .net y java? [email protected] Descargar proyecto en *.zip