private static string ConstruirItems(HtmlHelper helper, IEnumerable <MenuOpcion> opciones, int level) { //contruir el primer ul TagBuilder tag_ul_second = new TagBuilder("ul"); // StringBuilder item_second = new StringBuilder(); foreach (var opcion in opciones.OrderBy(x => x.Secuencia)) { var classIsSelectedLi = helper.IsSelected(null, opcion.ActionName, null); var classIsSelectedUL = helper.IsSelected(opcion.ControllerName, null, "in"); TagBuilder tag_li_second = new TagBuilder("li"); TagBuilder tag_lnk_second = new TagBuilder("a"); tag_lnk_second.SetInnerText(opcion.NombreMenu); if (opcion.TipoMenu == "I") { var urlgenerate = MenuHtmlHelpers.GenerateUrl(new UrlHelper(helper.ViewContext.RequestContext), opcion.ControllerName, opcion.ActionName, opcion.AttributesRoute); tag_lnk_second.MergeAttribute("href", urlgenerate); if (classIsSelectedLi != "") { tag_li_second.AddCssClass(classIsSelectedLi); } } tag_li_second.InnerHtml = tag_lnk_second.ToString(); if (opcion.MenuItem.Any()) { tag_li_second.InnerHtml += MenuHtmlHelpers.ConstruirItems(helper, opcion.MenuItem, opcion.Nivel); } item_second.AppendLine(tag_li_second.ToString()); if (classIsSelectedUL != "") { tag_ul_second.MergeAttribute("class", classIsSelectedUL, true); tag_ul_second.MergeAttribute("class", "sidebar - nav"); } } string prueba = MenuHtmlHelpers.ObtenerLevelClass(level).ToString(); tag_ul_second.AddCssClass(MenuHtmlHelpers.ObtenerLevelClass(level)); tag_ul_second.InnerHtml += item_second.ToString(); return(tag_ul_second.ToString()); }