2011-03-15 54 views
2

我已经开发了ASP.NET MVC 2应用程序,我想提出一个简单的面包屑(站点地图)中的每个页面是这样的:ASP.NET MVC - 简单的面包屑(地图)

首页>电影>详细

它等于网址:http://localhost/home/movies/details

我该如何实现它?我想把它放在我的母版页中。

谢谢!

+0

SiteMap?你不是说面包屑吗? – Charlino 2011-03-15 19:57:56

+0

是的,你是正确的,breadcrumbs。其实我是网页表单开发人员。在那里,它被称为SiteMap。 – Beginner 2011-03-15 20:01:51

+0

[动态breadcrumbs如何可以实现与ASP.net MVC?]的可能重复(http://stackoverflow.com/questions/1066777/how-can-dynamic-breadcrumbs-be-achieved-with-asp-net-mvc ) – Charlino 2011-03-15 20:04:47

回答

1

如果它总是等于URL,用最简单的是通过这样的利用认为:

var menuitems = Request.Url.AbsolutePath.Split("/".ToCharArray(), 
    StringSplitOptions.RemoveEmptyEntries); 

menuitems现在将包含您需要执行的菜单项一个简单的foreach循环并建立你的菜单。

2

我会推荐使用MVCSiteMapProvider。它是作为NuGet包提供的。

它可以用来生成面包屑(你可能会问)和网站地图。

MvcSiteMapProvider是,正如其名称 意味着,对于 ASP.NET MVC框架中的ASP.NET MVC SiteMapProvider实施。在 ASP.NET MVC 2的目标,它提供了站点地图XML 功能和互操作性 与经典的ASP.NET站点地图 控件,比如用于渲染面包屑SiteMapPath控件 和菜单 控制。

基于区域,控制器和动作 方法的名称,而不是硬编码的URL 引用,站点地图结点 完全动态的基于应用程序中使用的 路由引擎。 ASP.NET MVC 的动态特性遵循MvcSiteMapProvider: 有许多可扩展性 点允许您扩展 提供的基本功能。

+1

当动态节点的数量非常高(20.000+)时,我对MvcSiteMapProvider有不良的体验。 – noocyte 2013-01-31 11:18:36