Dynamiczne ładowanie menu w maszynce do golenia ASP.Net MVC3

Chcę zapytać o dynamiczne ładowanie menu bazy danych w ASP.Net

Maszynka do golenia MVC3.

To jest mój

1. Zobacz kod

2. Model dla menu

3. Model dla pozycji menu

4. Struktura modelu nawigacyjnego

W tym projekcie mam różne logowania użytkowników. Dla każdego logowania są

ograniczone przez moduły. Tak, gdy użytkownik wchodzi do aplikacji za pomocą

Zaloguj się, mają tylko ograniczony dostęp do swojego konta.

Na przykład są dwaj użytkownicy A i B. Użytkownik A może uzyskać dostęp tylko do kont i raportów, a użytkownik B może uzyskać dostęp tylko do raportów.

Aby zaimplementować te rzeczy, ładuję menu z bazy danych.

Moje pytanie brzmi: Jak zaimplementować menu Ładowanie z bazy danych w ASP.Net MVC3 Razor

Wyświetl kod

@{
    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>

Model menu

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; }
    }
}

Elementy menu

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; }
}
}

Struktura modelu nawigacji

 <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>

questionAnswers(1)

yourAnswerToTheQuestion