9
基本上我想做的是創建一個麪包屑列表。這個動態列表(當您深入到深層頁面的麪包屑列表增長),大多數鏈接都有參數。我見過MVCSiteInfo的例子,但有點困惑,因爲我看過的大多數例子都集中在一個沒有參數的靜態鏈接上。我無法想象這不是一個普遍的問題,所以我想知道什麼是完成此功能的最佳方法。ASP.NET MVC 4帶動態列表和參數的麪包屑
在此先感謝!
西格
基本上我想做的是創建一個麪包屑列表。這個動態列表(當您深入到深層頁面的麪包屑列表增長),大多數鏈接都有參數。我見過MVCSiteInfo的例子,但有點困惑,因爲我看過的大多數例子都集中在一個沒有參數的靜態鏈接上。我無法想象這不是一個普遍的問題,所以我想知道什麼是完成此功能的最佳方法。ASP.NET MVC 4帶動態列表和參數的麪包屑
在此先感謝!
西格
我建議你使用MVC Sitemap provider和麪包屑小徑從它。您需要構建動態節點提供程序,但這很簡單 - 只需執行以下步驟:the steps to use Dynamic Nodes
構建動態節點的技巧之一是確保您在每個級別的每個節點上進行foreach,但將其添加到節點頂部收藏。
var nodes = new List<DynamicNode>();
foreach (var eventCategory in eventCategories)
{
var node = new DynamicNode
{
Key = string.Format("{0}_{1}", "home_events", eventCategory.Name),
ParentKey = "home_events",
Title = pluralize.Pluralize(eventCategory.Name),
Description = eventCategory.Description,
Controller = "event",
Action = "category"
};
node.RouteValues.Add("slug", eventCategory.Slug);
nodes.Add(node);
foreach (var e in eventCategory.Events)
{
var eventNode = new DynamicNode
{
Key = string.Format("{0}_{1}", eventCategory.Name, e.Name),
ParentKey = node.Key,
Title = e.Name,
Controller = "event",
Action = "event"
};
eventNode.RouteValues.Add("categorySlug", eventCategory.Slug);
eventNode.RouteValues.Add("slug", e.Slug);
nodes.Add(eventNode);
}
}
,然後它只是把麪包屑在這樣
Html.MvcSiteMap().SiteMapPath()
家的情況下>事件>馬拉松>墨爾本馬拉松
你有沒有找到解決的辦法?我也在尋找一些東西 – dreza 2013-03-15 09:36:22
Dreza,我見過很多使用SiteMap的人。它似乎做這項工作,但看起來相當複雜。我選擇只是在頁面中有一個部分,只是填充相關鏈接。佈局頁面包含列表的主ul標籤。對我來說似乎更簡單。 – 2013-04-02 22:07:39
爲此歡呼。是的,我查看了網站地圖,甚至用了一下,但在嘗試使用它的問題上遇到了很多問題,所以不確定是否值得付出努力。 – dreza 2013-04-02 22:56:31