我是新的asp.net mvc。我正在嘗試在視圖頁面中構建角色明智的動態菜單顯示。每個用戶可以有多個角色。 我有這樣一個連接查詢:如何存儲連接查詢數據,並從asp.net中的主佈局頁面檢索使用foreach循環mvc
我的控制器看起來像連接查詢:
var query= (from rMPageMap in db.RoleModulePageMaps
join userRole in db.UserRoleMaps
on rMPageMap.RoleId equals
join roleMaster in db.RoleMasters
on rMPageMap.RoleId equals roleMaster.Id
join modMaster in db.ModuleMaster
on rMPageMap.ModuleId equals modMaster.Id
join sModMaster in db.SubModuleMasters
on rMPageMap.SubModuleId equals sModMaster.Id
join pMaster in db.PageMasters
on rMPageMap.PageId equals pMaster.Id
where (userRole.UserId == appuser.Id &)
select new
{
rMPageMap.RoleId,
rMPageMap.PageMaster.Name,
roleMaster.Id,
roleName = roleMaster.Name,
modId = modMaster.Id,
moduleName = modMaster.Name,
subModuleId = sModMaster.Id,
subModuleName = sModMaster.Name,
pageId = pMaster.Id,
pageName = pMaster.Name,
parentPageId = pMaster.ParentPageId,
rMPageMap.AddData,
rMPageMap.EditData,
rMPageMap.ViewData,
rMPageMap.DeleteData,
rMPageMap.ShowInDashBoard,
rMPageMap.ShowInMenu
});
Session["rolemodulepage"] = query;
我發現在會話中的值,而調試。但我無法從佈局頁面中使用foreach循環檢索數據。 這是我查看頁面,我嘗試ro檢索,但不起作用。
查看頁:
@if (Request.IsAuthenticated)
{
var sessionVar = System.Web.HttpContext.Current.Session["rolemodulepage"];
foreach(var i in sessionVar) // error
{
@i.... // error
}
// So here how to retrieve data from session using foreach loop. I tried but does not work. Pls help. If you have some resource for dynamically mane show in view page pls share with me.
誰能解釋如何做到這一點使用表示通過主頁面佈局基於角色的用戶動態菜單。 Wihout登錄無法進入該網站,請用例子解釋,以便我能理解。提前致謝。
您將生成一個不能在視圖中使用的匿名對象的集合。創建一個視圖模型並將該模型傳遞給視圖。 –
你能幫我嗎?怎麼做?或任何提示.. – user267019
創建一個類與每個屬性,並使用'選擇新的yourModel {RoleId = rMPageMap.RoleId,.....'等(您的模型將'IEnumerable') –