Это очень простой сценарий:
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()
(хлебная крошка) всегда показывает самый первый динамический узел, независимо от того, какой маршрут ...
Я не знаючто мне здесь не хватает и не хватает документации по этому вопросу. Есть ли у кого-нибудь образец или может указать, что я делаю неправильно?
Спасибо,
-Stan