2011-03-15 75 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