Estoy trabajando en un Sitio Web en ASP.NET 2.0 con código C#
Quisiera montar la siguiente lista de manera dinámica:
- FICHEROS MAESTROS- Clientes
- Ayuntamientos
- Rutas
- Municipios
- Formas de Pago
- Residuos
- Vehículos
- Repartidores
- Comerciales
- Empleados
 
- ADMINISTRADOR- Usuarios
- Perfiles
- Menú
 
- OPERATIVA- Clientes- Albarán
- Pagos a Comerciales
 
- Almacenes- Albaranes
- Consultas
 
- Ayuntamientos- Albaranes
- Consultas
 
- Mancomunidades- Albaranes
- Consultas
 
- Repartidores- Control
- Consulta
 
- Actividades- Generación de Residuos
- Entregas Valorizador
 
- Informes
- Correspondencia- Clientes Pagadores
- Ayuntamientos
 
 
- Clientes
- MANUAL
- SALIR
Todos los datos para montar vienen de una tabla [MENU] de la base de datos con esta estructura:
Código:
  
La descripción de algunos de los campos de la tabla es la siguiente: CREATE TABLE MENU (mnu_id INT IDENTITY (1,1) NOT NULL,
 mnu_txt NVARCHAR(50) NOT NULL,
 mnu_title NVARCHAR(50) NULL,
 mnu_url NVARCHAR(50) NOT NULL CONSTRAINT DF_menu_mnu_url DEFAULT (('#')),
 mnu_nivel TINYINT NOT NULL,
 mnu_padre_id INT NOT NULL CONSTRAINT DF_menu_mnu_padre_id DEFAULT ((0)),
 mnu_perfiles NVARCHAR(25) NOT NULL,
 CONSTRAINT clave_menu PRIMARY KEY (mnu_id))
- [mnu_txt] es el texto de la opción.
- [mnu_title] es el texto para la propiedad TITLE de la etiqueta A de vínculo (pues cada opción va vinculada a alguna página).
- [mn
 rl] es la ruta al vínculo deseado.
rl] es la ruta al vínculo deseado.- [mnu_nivel] es un número indicador del nivel/subnivel en la que la opción se sitúa en la lista; por ejemplo las opciones como [FICHEROS MAESTROS] están a un nivel 0, una opción por debajo de ésta tendrá el nivel 1, debajo de ésta el nivel 2, etc...
- [mnu_padre_id], es el número para indicar cuál es el nivel padre de cada submenú. Las opciones de primer nivel, es decir nivel 0, no tienen padre y en este caso llevarán un 0 en este campo; los demás si son subniveles de otros llevarán en este campo el ID de los que sean sus padres, por ejemplo, la opción [Clientes] debajo de [Ficheros Maestros] lleva el 1 en este campo.
Como he dicho, quisiera saber como construir la lista deseada a través de los datos de la tabla.
En ASP 3.0 sabría hacerlo más ó menos a través de combinar varias consultas a la vez con varios recordset...
Pero con el ASP.NET 2.0, no llego a ver exactamente la manera, ya que en mi corta experiencia todas las consultas que se construyen se van cargando en controles web como GridView, FormView ó DropDownList.
Y aquí, no veo que sea ese el caso a menos que me equivoque
Si alguien me puede dar alguna pista sobre como construir la consulta, ... si con un objeto SqlDataSource ó con un SqlDataAdapter y DataSet ó con otros, y luego, sobre todo como ir cargando los datos montando el HTML de listas (ul y li) para conseguir la lista planteada.
Al final, esta lista, aplicándole una serie de estilos, se convierte en un menú desplegable.
Espero la(s) respuesta(s) de todo el que me pudiera ayudar...
 
 



 Este tema le ha gustado a 1 personas
Este tema le ha gustado a 1 personas