Динамическая загрузка меню в ASP.Net MVC3 Razor

Я хочу спросить о динамической загрузке меню через ASP.Net

Бритва MVC3.

Это мое

1. Просмотр кода

2.Модель для меню

3.Модель для пунктов меню

4. Модель навигационной структуры

В этом проекте у меня разные логины пользователей. Для каждого входа они

ограничено модулями. Так, когда пользователь входит в приложение со своими

войти, они имеют только ограниченный доступ к своей учетной записи.

Например, есть два пользователя A и B. Пользователь A может получить доступ только к учетным записям и отчетам, а пользователь B может получить доступ только к отчетам.

Для реализации этих вещей я загружаю меню из базы данных.

Мой вопрос: Как реализовать загрузку меню из базы данных в ASP.Net MVC3 Razor

Посмотреть код

@{
    ViewBag.Title = "Elixir ERP V1.0 Beta";
    Layout = "~/Views/Shared/_LayoutUser.cshtml";
}
<div class="main-container">
    <div class="main-wrapper">
        <div class="scroll-top">
            <a href="#" class="tip-top" title="Go Top"><i 

class="icon-arrow-up"></i></a>
        </div>
        <div class="left-bar merge-left">
            <!-- SEARCH BAR -->
            <!-- LEFT NAV -->
          @section leftnav{


          }
        </div>
    </div>
    <div class="container">
    </div>
</div>

Модель меню

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Elixir.Models
{
    public class Menu
    {
        public Menu()
        {
            MenuItems = new List<MenuItem>();
        }

        public int Id { get; set; }
        public string Name { get; set; }
        public List<MenuItem> MenuItems { get; set; }
    }
}

Пункты меню

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Elixir.Models
{
public class MenuItem
{

public int Id { get; set; }
public int UserName { get; set; }
public string Name { get; set; }
public string ActionName { get; set; }
public string ControllerName { get; set; }
public string Url { get; set; }
public Menu ParentMenu { get; set; }
}
}

Структура навигационной модели

 <div class="left-nav">


                <ul class="side-navigation accordion" 

id="nav-accordion">
                    <li><a href="#"><i 

class="icon-home"></i>Home</a></li>
                    <li><a href="#"><i class="icon-list-alt"></i>User 

Management</a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Create New User</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Manage Users</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>View Users</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i 

class="icon-table-2"></i>Employee Management</a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Employee Registration</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Manage Employees</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>View Employees</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i class="icon-columns"></i>DMIT 

Management</a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Scan Management</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Report Generation</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i 

class="icon-laptop"></i>Franchise Management </a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Franchise Registration</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Franchise Fee Management</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Franchise Account 

Management</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i class="icon-font"></i>Customer 

Management </a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Customer Registration</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Manage Customer</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i 

class="icon-cord"></i>Counseling Management</a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Add Counseling Session</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Manage Counseling 

Sessions</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i 

class="icon-tools"></i>Accounts</a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Manage Income</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Manage Expense</a></li>
                        </ul>
                    </li>
                    <li><a href="#"><i 

class="icon-files"></i>Reports</a>
                        <ul>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Elxir Monthly Reports</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Elixir Yearly Reports</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Franchise Monthly 

Reports</a></li>
                            <li><a href="#"><i 

class="icon-double-angle-right"></i>Franchise yearly Reports</a></li>
                        </ul>
                    </li>
                </ul>
            </div>

Ответы на вопрос(1)

Ваш ответ на вопрос