Click here to Skip to main content
15,884,353 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more: , +
I want to ask about Dynamic Database Driven Menu Loading in ASP.Net MVC3 razor .

This is my

1.View Code

2.Model for Menu

3.Model For Menu Items

4.Navigation Model Structure

In this project i have different User Logins .For each login they are limited by modules .So When a user enter into the app with their login ,they have only a limited access to their account.ie,User A can access only Accounts and Reprts,User B can access only Reports Like that.

To implement these things am loading menu from Database

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"></a>
        </div>
        <div class="left-bar merge-left">
            <!-- SEARCH BAR -->
            <!-- LEFT NAV -->
          @section leftnav{


          }



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


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



HTML
<ul class="side-navigation accordion" id="nav-accordion">
                <li><a href="#"></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"__^Manage Users</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^View Users</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-table-2"__^Employee Management</a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Employee Registration</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Manage Employees</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^View Employees</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-columns"__^DMIT Management</a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Scan Management</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Report Generation</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-laptop"__^Franchise Management </a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Franchise Registration</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Franchise Fee Management</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Franchise Account Management</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-font"__^Customer Management </a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Customer Registration</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Manage Customer</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-cord"__^Counseling Management</a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Add Counseling Session</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Manage Counseling Sessions</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-tools"__^Accounts</a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Manage Income</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right"__^Manage Expense</a></li>
                    </ul>
                </li>
                <li><a href="#">^__i class="icon-files"__^Reports</a>
                    <ul>
                        <li><a href="#">^__i class="icon-double-angle-right">Elxir Monthly Reports</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right">Elixir Yearly Reports</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right">Franchise Monthly Reports</a></li>
                        <li><a href="#">^__i class="icon-double-angle-right">Franchise yearly Reports</a></li>
                    </ul>
                </li>
            </ul>
Posted
Updated 1-Jan-14 19:55pm
v2

1 solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900