未检测到MVCSitemapProvider当前节点

时间:2012-10-21 13:40:42

标签: asp.net-mvc-3 mvcsitemapprovider

我正在使用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根据querystring参数识别当前节点?

2 个答案:

答案 0 :(得分:1)

我相信这是可能的,虽然我没有测试过。你应该在他们的github存储库中查看wiki。它有一些有用的信息,但它仍缺少一些基本的例子。

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

答案 1 :(得分:0)

不幸的是没有办法做到这一点。  我使用自定义DynamicNodeProvider解决了这个问题,但它似乎不适合你的情况。