我是新的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') –