Текущий узел MCSitemapProvider не обнаружен

Я использую MvcSiteMapProvider 3.3.3.0 и имею файл MvcSiteMap.sitemap, который содержит два узла, определенные следующим образом:

<mvcSiteMapNode title="Node1" controller="MyController" action="MyAction" type="A" />
<mvcSiteMapNode title="Node2" controller="MyController" action="MyAction" type="B" />

Мои маршруты в global.asax.cs настроены «из коробки», поэтому URL-адреса:

Node 1: http://server/MyController/MyAction?type=A
Node 2: http://server/MyController/MyAction?type=B

Теперь, если я перейду к узлу 2, я обнаружу, что MenuHelper.GetCurrentNode() возвращает узел 1.

Почему это так и есть ли способ заставить MvcSiteMapProvider распознавать текущий узел на основе параметра строки запроса?


person Joe    schedule 21.10.2012    source источник


Ответы (2)


Я считаю, что это возможно, хотя я не проверял это. Вы должны проверить вики в их репозитории github. В нем есть некоторая полезная информация, но ему все еще не хватает некоторых основных примеров.

https://github.com/maartenba/MvcSiteMapProvider/wiki/Dynamic-sitemaps/

person Tsasken    schedule 22.10.2012

К сожалению, нет способа сделать это. Я решил эту проблему, используя собственный DynamicNodeProvider, но, похоже, он не подходит для вашего случая.

person Xharze    schedule 22.10.2012