【.NET MVC学习笔记】--循环列表生成菜单

来源:互联网 发布:直通车助手软件 编辑:程序博客网 时间:2024/06/05 11:23

最近开始做MVC项目,之前一直用的WebForm,对MVC特别陌生,还好项目组有大神,就把大神教的东西一点一点记录下来,是的,不懂就问..

我之前用的方法:

public BaseController()        {            var listFirst= ClientCommon.GetList<Common_Menu>(o => o.SupMenuId == "" && o.MenuStatus == 0);//一级菜单            Dictionary<string, List<Common_Menu>> menuDic = new Dictionary<string, List<Common_Menu>>();            foreach (var item in listFirst)            {                var listSecond = clientCommon.GetList<Common_Menu>(o => o.SupMenuId == item.MenuId && o.MenuStatus == 0);//二级菜单                menuDic.Add(item.MenuId, listSecond);            }            ViewBag.listF = listFirst;            ViewBag.listS = menuDic;        }

前台遍历:
    <div class="menu_dropdown">            @foreach (var itemF in menuListF)            {                <dl>                    <dt>@itemF.MenuName<i class="iconfont menu_dropdown-arrow"></i></dt>                    <dd>                        <ul>                            @foreach (var itemS in menuListS)                            {                                if (itemF.MenuId == itemS.Key)                                {                                    foreach (var item in itemS.Value)                                    {                                        <li><a href="@item.MenuUrl">@item.MenuName</a></li>                                    }                                }                            }                        </ul>                    </dd>                </dl>            }        </div>
大神指导:
<pre name="code" class="html">后台: public BaseController()        {            ViewBag.menuList = LoginAdmin.MenuList;//保存在Session里的登录用户对象        }

前台遍历:
<pre name="code" class="html"><div class="menu_dropdown">            @foreach (var item in menu.Where(o => o.SupMenuId == "").OrderBy(o => o.SortId).ThenBy(o => o.MenuId))//按排序字段排序,多种排序用ThenBy            {                <dl>                    <dt>@item.MenuName<i class="iconfont menu_dropdown-arrow"></i></dt>                    <dd>                        <ul>                            @foreach (var itemS in menu.Where(o => o.SupMenuId == item.MenuId).OrderBy(o => o.SortId).ThenBy(o => o.MenuId))                            {                                <li><a href="@itemS.MenuUrl">@itemS.MenuName</a></li>                            }                        </ul>                    </dd>                </dl>            }        </div>
0 0
原创粉丝点击