[转]Asp.net MVC 利用PartialView 构造自定义菜单
2016-06-14 14:42
204 查看
本文转自:http://www.cnblogs.com/huyq2002/archive/2012/01/06/2314838.html
在VS2010中利用Asp.net MVC自带的模板生成的菜单是固定的,没办法更改,下面利用PartialView实现简单的一级菜单。
1) 修改_Layout.cshtml,在<nav>部分改成@{ Html.RenderAction("Menu", "Home");}
?
MVC将会调用HomeController的Menu方法来显示菜单
2)在HomeController里面添加Menu方法,返回PartialView
其中:MenuItem为新添加的自定义的Class
3) 定义一个新的PartialView ,名称为Menu.cshtml,基于原来自动生成的代码修改为:
?
利用PartialView可以实现自定义多级菜单,并且权限控制也很容易。
完整代码如下:
http://files.cnblogs.com/huyq2002/MVCDemo.zip
运行该示例可能需要安装asp.net MVC4
在VS2010中利用Asp.net MVC自带的模板生成的菜单是固定的,没办法更改,下面利用PartialView实现简单的一级菜单。
1) 修改_Layout.cshtml,在<nav>部分改成@{ Html.RenderAction("Menu", "Home");}
?
2)在HomeController里面添加Menu方法,返回PartialView
public PartialViewResult Menu() { List<MenuItem> menus = new List<MenuItem>(); menus.Add(new MenuItem{ Text="Home", Controller="Home", Action="Index"}); menus.Add(new MenuItem { Text = "Job", Controller = "Job", Action = "Index" }); menus.Add(new MenuItem { Text = "About", Controller = "Home", Action = "About" }); menus.Add(new MenuItem { Text = "Contact", Controller = "Home", Action = "Contact" }); return PartialView(new MenuModel { Menus = menus }); }
其中:MenuItem为新添加的自定义的Class
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI.WebControls; namespace MVCDemo.Models { public class MenuItem { public string Text { get; set; } public string Controller { get; set; } public string Action { get; set; } } public class MenuModel { public List<MenuItem> Menus { get; set; } } }
3) 定义一个新的PartialView ,名称为Menu.cshtml,基于原来自动生成的代码修改为:
?
完整代码如下:
http://files.cnblogs.com/huyq2002/MVCDemo.zip
运行该示例可能需要安装asp.net MVC4
相关文章推荐
- asp.net Framework 与 asp.net core 知识
- 在raspberry运行xibo
- asp.net web forms和asp.net mvc比较
- asp.net webpage
- BrnShop开源网上商城第二讲:ASP.NET MVC框架
- 比较分析 Spring AOP 和 AspectJ 之间的差别
- [转]ASP.NET 成员资格 Part.1(API)
- Spring AOP @AspectJ进阶
- 注意!ASP.NET MVC 3 的一个 OutputCache 问题
- ASP.net 中 OutputCache 指令各个参数的作用
- 理解SVG坐标系和变换:视窗,viewBox和preserveAspectRatio
- asp.net MVC 应用程序的生命周期
- ASP.NET生命周期详解 [转]
- asp.net core
- asp.net web开发所用到的技术
- IIS7.5 配置自定义后缀的ASP文件 无法执行 总是提示下载的解决方法
- 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引
- asp.net mvc Code First模式下迁移更新数据库
- Android基于AOP的非侵入式监控之——AspectJ实战
- asp.net C#对xml文档创建 修改 删除 查找