Това е много прост сценарий:
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" />
and the part of the class:
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()
(навигационен път) винаги показва първия динамичен възел, без значение какъв е маршрутът...
Не знам какво пропускам тук и няма достатъчно документация за това. Някой има ли проба или може ли да посочи какво правя погрешно?
Благодаря,
-Стан