Hi I want to know how to set rights for the Add Edit Delete Buttons and Dynamic loading menus in MVC5. Actually i am loading menu dynamically. Now i am confussed with settings rights for menus and buttons.
**My Controller**
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace DynamicMenuLoading.Controllers
{
public class CallRegisterController : Controller
{
//
// GET: /CallRegister/
public ActionResult Details()
{
return View();
}
}
}
**My View**
**My user settings table.**

**My model to load menus dynamically**
public class Menu
{
public Menu()
{
MenuItems = new List
SubMenuItems = new List();
}
public int Id { get; set; }
public string Name { get; set; }
public List
public List SubMenuItems { get; set; }
}
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; }
}
public class SubMenuviewmodel
{
public string SubMenu { get; set; }
public string ActionName { get; set; }
public string MainMenuName { get; set; }
public string ControllerName { get; set; }
public string subid { get; set; }
}
**My controller to load menu**
public ActionResult SubMenu()
{
var menu = new Menu();
var mainmenu = db.ApplicationNames.Select(e => new
{
uid = e.UID,
mainmenuname = e.ApplicationName1
}).ToList();
var menuitemlist = new List
for (var item = 0; item < mainmenu.Count();item++ )
{
var mainmenuitems = new MenuItem { Name = mainmenu[item].mainmenuname.ToString(),Id=mainmenu[item].uid };
menuitemlist.Add(mainmenuitems);
}
menu.MenuItems = menuitemlist;
//submenu
var submenu = db.SubAplicationNames.Select(e => new
{
submenuuid = e.SubAplicationNameID,
submenuname = e.SubMenuName,
submenuparentidd = e.ApplicationID,
mainmenuname=e.ApplicationName
}).ToList();
var submenulist = new List();
for (var item = 0; item < submenu.Count();item++ )
{
var submenuitemslist = new SubMenuviewmodel { SubMenu = submenu[item].submenuname.ToString(),subid=submenu[item].submenuparentidd.ToString()
,ControllerName="Home",ActionName="About" };
submenulist.Add(submenuitemslist);
}
menu.SubMenuItems = submenulist;
return View(menu);
}
**My view to show menu dynamically**
@model DynamicMenuLoading.Models.Menu
@{
}
@foreach (var MainMenu in Model.MenuItems)
{
@MainMenu.Name
@foreach (var SubMenu in Model.SubMenuItems.Where(x => x.subid == MainMenu.Id.ToString()))
{
}
}}
**Layout page**
@Html.Action("Submenu","Menulist");
Now i created call register view and load the menus dynamically. Now i want to set the rights for person by using User Settings tables. I tried my level best to explain the issue.Any one understand my issue and help me to resolve this problem
Thanks.
Abubakar DandotiPosted Jun 19, 2017, 1:30 PM
Step 1 : Create a role menu table
create table menus
(
menuid int identity(1,1) primary key,
parenit int not null,
menuTitle nvarchar(250),
menuLink nvarchar(250)
)
if the menu is parent then insert menu parent id =0 and pass menulink #create table Roles
(
RoleId int identity(1,1) primary key,
RoleName nvarchar(250)
)
insert your roles in tableCreate table RoleMenu
(
RoleMenuId decimal identity(1,1) primary key,
Fk_RoleId int not null,
Fk_MenuId int not null
)
insert data in Rolemenu tablecreate table UserRoles
(
UserRoleId decimal identity(1,1) primary key,
Fk_RoleId int not null,
FK_UserId int not null
)
select M.* from menus M
inner join RoleMenu RM on RM.Fk_MenuId=M.menuid
inner join Roles R on R.RoleId=RM.Fk_RoleId
inner join UserRoles UR on RM.Fk_RoleId=UR.Fk_RoleId
where UR.UserId=UserId --your user id
Datatable dtbl=getbysql assign in datatable;
Dataview dv=new Dataview(dtbl);
dv=dv.Rowfilter="parentid=0";
for(int i=0;i
DataView Sumenu=new DataView(dtbl);
Submenu=Submenu.RowFilter="parentid="+dv[i]["menuid"]
<%#dv[i]["menuTitle"]%>
if(Submenu.Count>0)
{
for(int i=0;i
}
}
}
Manikandan MurugesanPosted Jun 19, 2017, 11:16 AM