/// <summary> /// 生成用户功能菜单 /// </summary> public static MvcHtmlString CreateMenu(this HtmlHelper helper) { //HttpSessionState session = new HttpSessionState(); //session.Get("RoleId"); //ToTest int roleID = 1; string parentMenu = "<a href=\"#{0}\" class=\"nav-header\" data-toggle=\"collapse\"><i class=\"ico-menu ico-{1}\"></i>{2}</a>"; string childMenu = "<ul id=\"{0}\" class=\"nav nav-list collapse in pl20\">{1}</ul>"; string childContent = "<li><a target=\"content\" href=\"/{0}\"><i class=\"ico-menu ico-{1}\"></i>{2}</a></li>"; UserService userService = new UserService(); //获取可以浏览的菜单 IEnumerable <UserBrowseViewModel> modules = userService.GetUserBrowse(roleID); //获取父菜单 IList <UserBrowseViewModel> parentModules = new List <UserBrowseViewModel>(); modules.Enumerate(m => m.ParentId == 0, m => parentModules.Add(m)); //获取子菜单 IEnumerable <T_Module> childModules = null; StringBuilder menuBuilder = new StringBuilder(); StringBuilder childBuilder = new StringBuilder(); ModuleService moduleService = new ModuleService(); foreach (var parent in parentModules) { menuBuilder.AppendFormat(parentMenu, parent.Code + "-menu", parent.Code, parent.Name); childModules = moduleService.GetChildModules(parent.ID); foreach (var child in childModules) { childBuilder.AppendFormat(childContent, child.Url, child.Code, child.Name); } menuBuilder.AppendFormat(childMenu, parent.Code + "-menu", childBuilder.ToString()); childBuilder.Clear(); } return(MvcHtmlString.Create(menuBuilder.ToString())); }
/// <summary> /// 生成用户功能菜单 /// </summary> public static MvcHtmlString CreateMenu(this HtmlHelper helper) { //HttpSessionState session = new HttpSessionState(); //session.Get("RoleId"); //ToTest int roleID = 1; string parentMenu = "<a href=\"#{0}\" class=\"nav-header\" data-toggle=\"collapse\"><i class=\"ico-menu ico-{1}\"></i>{2}</a>"; string childMenu = "<ul id=\"{0}\" class=\"nav nav-list collapse in pl20\">{1}</ul>"; string childContent = "<li><a target=\"content\" href=\"/{0}\"><i class=\"ico-menu ico-{1}\"></i>{2}</a></li>"; UserService userService = new UserService(); //获取可以浏览的菜单 IEnumerable<UserBrowseViewModel> modules = userService.GetUserBrowse(roleID); //获取父菜单 IList<UserBrowseViewModel> parentModules = new List<UserBrowseViewModel>(); modules.Enumerate(m => m.ParentId == 0, m => parentModules.Add(m)); //获取子菜单 IEnumerable<T_Module> childModules = null; StringBuilder menuBuilder = new StringBuilder(); StringBuilder childBuilder = new StringBuilder(); ModuleService moduleService = new ModuleService(); foreach (var parent in parentModules) { menuBuilder.AppendFormat(parentMenu, parent.Code + "-menu", parent.Code, parent.Name); childModules = moduleService.GetChildModules(parent.ID); foreach (var child in childModules) { childBuilder.AppendFormat(childContent, child.Url, child.Code, child.Name); } menuBuilder.AppendFormat(childMenu, parent.Code + "-menu", childBuilder.ToString()); childBuilder.Clear(); } return MvcHtmlString.Create(menuBuilder.ToString()); }