public static void CargarCboModulos(ASPxComboBox cboModulo) { cboModulo.Items.Clear(); cboModulo.DataSource = ModulosLN.ObtenerModulos(); cboModulo.ValueField = @"ModuloId"; cboModulo.TextField = @"Nombre"; cboModulo.DataBind(); }
/// <summary> /// Método que genera el menú mostrado en pantalla desde la Base de Datos /// </summary> private void GenerarMenuDinamico() { try { var strHtml = new StringBuilder(); if (Session["vsMenuGenerado"] != null) { strHtml.Append(Session["vsMenuGenerado"]); } else { var rolId = Convert.ToInt32(Session["vsRolId"]); var modulosPorRolId = ModulosLN.ObtenerModulosPorRolId(rolId); var accionesPorRol = RolModuloAccionesLN.ObtenerAccionesPorRol(rolId, true); var urlBase = prepararUrl(Request.ApplicationPath); strHtml.Append(string.Format( $@"<li class='active'><a href='{urlBase}/'><i class='fa fa-desktop'></i><span>Inicio</span></a></li>")); if (modulosPorRolId != null) { foreach (var modulo in modulosPorRolId) { var objetoPrimerNivel = accionesPorRol.Where(x => x.ModuloId == modulo.ModuloId && x.ModuloPadre == 0 && x.EsMenu); if (objetoPrimerNivel != null) { strHtml.Append(string.Format( $"<li class='cd-dropdown'><a href='#' class='dropdown-toggle' data-toggle='dropdown'><i class='{modulo.ClaseCss}'></i><span>{modulo.Nombre}</span></a><ul class='dropdown-menu'>")); foreach (var objetoSegundoNivel in objetoPrimerNivel) { strHtml.Append(string.Format($"<li><a href='{urlBase}/{objetoSegundoNivel.Enlace}'>{objetoSegundoNivel.ModuloAccionNombre}</a></li>")); } strHtml.Append("</ul></li>"); } } } } menuPrincipal.InnerHtml = strHtml.ToString(); Session["vsMenuGenerado"] = menuPrincipal.InnerHtml; } catch (Exception ex) { throw ex; } }