MenuASP20

Páginas: 7 (1523 palabras) Publicado: 29 de julio de 2015
Creando Menús Dinámicos con ASP .NET 2.0

Iván Mostacero Plasencia
MCP, MCAD, MCSD .NET
Early Archiver .NET Techologies
Asegurador de Calidad Cofide

Para desarrollar una aplicación Web, no solo es necesario cumplir con la lógica de negocios que
el sistema debe implementar, mucho más si esta aplicación va a estar colgada sobre Internet y
en donde nuestros socios de negocios van a poder observarla calidad y vistosidad de la misma.
También es necesario darle un valor agregado en cuanto a la amigabilidad frente a nuestros
usuarios finales, a la facilidad de uso y navegabilidad de sus contenidos.
Una de las partes mas importantes de nuestra aplicación Web es sin duda alguna el Menú ya
que será la parte con la que mas interactuaran nuestros usuarios, dada la importancia que
acabamos dedefinir para esta parte de una aplicacion, los desarrolladores generalmente
recurrimos a Controles de externos y muchas veces controles por los que se debe pagar cierta
cantidad de dinero.
Ahora con la liberación de Visual Studio 2005 y el Framework 2.0 versión beta, trae consigo un
control denominado Menu que es el que usaremos ahora para desarrollar un ejemplo de como
poder cargar dinámicamente desdela base de datos, toda una estructura de menús de acuerdo
a lo que se requiera publicar en la Web.
Base de Datos
Para iniciar este ejemplo primero debemos crear una tabla en la base de datos de SQL Server
que pueda contener a todas las opciones que va a presentar nuestro menu, ahora como vamos a
tener varios ítems del menú, además un ítem del menú a la vez puede contener varios SubItems
y asisucesivamente, esto nos hace pensar en una tabla estructurada de tal forma que se pueda
generar una estructura jerarquica a partir de los datos que contenga y de las relaciones entre
estos datos, lo que conlleva a generar una tabla que se relaciona a si misma, en donde además
de generar un código para cada elemento se debe definir además un código del padre a quien
pertenece ese elemento.
Laestructura de la tabla quedaría de la siguiente manera:

MenuId. Es el código que va a tener cada Ítem de Menú.
Descripción. Descripción que aparecerá en el Menú.
PadreId. Es el código del Ítem de Menú de quien es hijo cada registro, en el caso de uno de los
elementos de nivel superior (root), este código seria el mismo que MenuId.
Posición. Es la posición que va a tener en el árbol que se genere paracada ítem, por ejemplo si
es el primer hijo tendrá posición 1, si es el segundo posición 2 y así sucesivamente. Icono.
Imagen que estará a la izquierda de la descripción del Ítem.
Habilitado. Indica si un determinado Ítem esta habilitado para mostrarse.
Url. La url a la que se redireccionará nuestra Web en caso de dar click en el ítem.
FechaCreacion. Fecha en que se ha creado este Ítem ( paraauditoria).
UsuarioCreacion. Usuario que ha creado este Ítem ( para auditoria).
FechaModificacion. Ultima fecha en que se ha modificado este Ítem ( para auditoria).
UsuarioModificacion. Ultimo usuario que ha modificado este Ítem ( para auditoria). De esta
manera hemos definido nuestra tabla que se encargara de almacenar la información necesaria
para el funcionamiento de nuestro ejemplo, luego de esto loque necesitamos es definir un
procedimiento almacenado que nos pueda proveer la información que se requiere para mostrar
nuestro menú dinámico, en nuestro caso será un procedimiento sencillo que nos listara todos los
ítems que están Habilitados para mostrarse, además ordenándolos por la Posición para de esta
manera se muestren ordenados nuestros elementos del menú sin necesidad de agregar ningunalogica adicional.
El Procedimiento almacenado quedaría de la siguiente manera:
CREATE PROCEDURE dbo.ObtenerOpcionesMenu
AS
SET NOCOUNT ON
SELECT MenuId, Descripcion, Posicion, PadreId, Icono, Habilitado, Url
FROM dbo.Menu
WHERE Habilitado = 1
SET NOCOUNT OFF
Figura 2. Procedimiento Almacenado.

Presentación

Luego de ya tener el Procedimiento almacenado, pasamos a crear el Web site, para esto...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS