MVC项目小结动态菜单.docx

MVC项目小结动态菜单.docx

ID:59253890

大小:188.68 KB

页数:4页

时间:2020-09-08

MVC项目小结动态菜单.docx_第1页
MVC项目小结动态菜单.docx_第2页
MVC项目小结动态菜单.docx_第3页
MVC项目小结动态菜单.docx_第4页
资源描述:

《MVC项目小结动态菜单.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、菜单需求:    1:支持多语言。     2:只支持两级菜单,不需要考虑无限级菜单这种需求。     3:二级菜单与一级菜单可以动态调整。        比如我们有一个给用户授权的功能,网站共有两个一级菜单:系统管理员以及二级管理员,之前用户授权的二级菜单出现在系统管理员下来,但后来有人认为应该出现在级别低点的二级管理员菜单下,这种情况要非常容易的进行调整,这里的容易调整是指不修改任何程序任何配置文件的基础上完成,完成在网页上就能完成。   4: 菜单的显示需要和登录用户权限结合          比如系统管理

2、员总共有六个二级菜单,每个二次菜单对应一个功能,只要用户的授权中有其中一项,当用户登录系统后就会出现系统管理员的一级菜单,点击一级菜单,能看到一个自己被授权的二级菜单。           我们采用的是比较传统的用户授权模式,这种方式并不一定是最好的,但适用于我们自己的项目。    1:User,用户信息。    2:Role,角色信息。    3:Function,功能信息,比如数据字典表维护就是一个Function, ControllerName是指mvc程序中Controller路由信息,即去掉Contro

3、ller后缀的部分,比如HomeController,数据库中就存Home。Name,是一个程序员能认认识的名称,不用于菜单显示,因为我们的菜单需要多语言。    4:Action,子功能信息,比如数据字典表的查询就是一个Action,删除也属于一个Action。ActionName是指mvc程序中的Action名称,比如HomeController下面有一个类型为ViewResult的Index方法,此时ActionName就存这个Index。Name,也是一个供程序员参考的名称。    5:RoleActio

4、n,角色与子功能的关系,所有权到每一个子功能Action而不是更高一级的Function。    6:UserRole,用户与角色的关系。         如何实现二级菜单?    实现的方式有很多种,但我们选择的是MvcSiteMap,它允许我们对于展示的样式进行自定义的控制,而且支持多语言以及动态菜单。         如何实现菜单多语言?    MvcSiteMap自身就提供了多语言机制,比如我们可以在配置文件中指定如下菜单,通过资源文件的方式来实现。

5、rces:SiteMapResources,Page"controller="PageName"action="Index"roles="RegionalAdmin"/>    但这是静态菜单(要想修改菜单就需要修改这个配置文件),不符合要求,不能写在配置文件中,因为功能与角色的关系是动态的而非静态固定的,我们需要采用MvcSiteMap提供的动态菜单,但解决的思想还是采用资源文件。          在Function以及Action表中,增加了ResourceKey字段,MvcSiteMap读取到Functi

6、on信息时,显示的名称根据ResourceKey从指定的资源文件中获取,而不是取数据库中的Name字段,从而实现菜单的多语言。     修改后的sitemap配置文件,配置文件没有具体指明菜单信息,而只是指定了两个动态菜单配置节。

7、eProvider="My.Web.Utility.LevelTwoDynamicNodeProvider,My.Web">   需要分别完成上图中的两个菜单Provider,这里就不贴全部的了,MvcSiteMap源码中包含了示例,菜单的Provider变成:DynamicNodenode=newDynamicNode();varresouceObject=HttpContext.GetGlobalResourceObject("Resourc

8、esMap",menuGroup[j].ResourceKey);if(null==resouceObject)continue;node.Title=resouceObject.ToString();node.Key=menuGroup[j].ResourceKey+"_"+HttpContext.Current.User.Identity.Name;result.Ad

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。