这是一个非常简单的场景:
public class StockItemController : Controller
{
public ActionResult Index(int categoryId)
{
/// ...
}
}
示例路线:
/StockItem?categoryId=1 // 应该是“饮料” /StockItem?categoryId=1 // 应该是“鞋”
这是缩写的站点地图:
<mvcSiteMapNode title="Home" controller="Home" action="Index">
<mvcSiteMapNode title="Template" action="Index" controller="StockItem" dynamicNodeProvider="uTani.UI.Common.BreadCrumbCategoryProvder, Store.UI" />
和班级的一部分:
public override IEnumerable<DynamicNode> GetDynamicNodeCollection()
{
foreach (Category category in _repository.GetCategories())
{
string key = "Category" + category.Id;
string title = category.DescriptionRU;
DynamicNode node = new DynamicNode(key, title);
node.RouteValues.Add("categoryId", category.Id);
yield return node;
}
}
这一切所做的是正确生成站点菜单,@Html.MvcSiteMap().Menu()
但问题是@Html.MvcSiteMap().SiteMapPath()
(面包屑)始终显示第一个动态节点,无论路线是什么......
我不知道我在这里缺少什么,也没有足够的文档。有没有人有样本或可以指出我做错了什么?
谢谢,
-斯坦