首页 > 解决方案 > 菜单没有从数据库中显示

问题描述

我尝试从表中获取列表,我在控制器上编码

var _menu = new List<MenuModel>();
            try
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                string query = "";
                var role = Session["sessionrole"];

                query = "SELECT * FROM \"SubMenu\" INNER JOIN \"Main_menu\" ON \"SubMenu\".\"MainMenuId\" = \"Main_menu\".\"Id\"  WHERE \"ROLE_ID\" = @role";

                NpgsqlCommand cmd = new NpgsqlCommand(query, con);


                var reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    _menu.Add(item: new MenuModel
                    {
                        MainMenuName = reader["MainMenu"] != DBNull.Value ? (string)reader["MainMenu"] : ""

                    });
                }


            }
            catch (Exception ex)
            {

            }

            Session["Menu"] = _menu;

我在共享中添加了 _menuPartial 以在视图索引中呈现

<nav class="navbar navbar-inverse">
    <div class="container-fluid">
        <div class="navbar-header">
            <a class="navbar-brand" href="#">Menu Example</a>
        </div>
        <ul class="nav navbar-nav">
            @if (Session["Menu"] != null)
            {

                var MenuMaster = (List<Accountstatement.Models.MenuModel>)Session["Menu"];
                var groupByMenu = MenuMaster.GroupBy(x => x.MainMenuName).ToList();

                foreach (var MenuList in groupByMenu)
                {

                    <li class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">@MenuList.Key<span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            @foreach (var SubMenuList in MenuList)
                            {
                                <li><a href="#">@SubMenuList.SubMenuName</a></li>
                            }
                        </ul>
                    </li>

                }
            }

        </ul>

我尝试输入的表格是: MainMenu | 身份证 | 主菜单 | | -------- | -------------- | | 1 | 康文 | | 2 | 伊斯兰教 | Id 是 varchar MainMenu 是 varchar

我尝试从数据库添加动态菜单以在视图索引中添加菜单,但我没有看到我的列表呈现,有什么建议吗?

标签: c#asp.netasp.net-mvc

解决方案


推荐阅读