我正在使用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参数识别当前节点?
答案 0 :(得分:1)
我相信这是可能的,虽然我没有测试过。你应该在他们的github存储库中查看wiki。它有一些有用的信息,但它仍缺少一些基本的例子。
https://github.com/maartenba/MvcSiteMapProvider/wiki/Dynamic-sitemaps/
答案 1 :(得分:0)
不幸的是没有办法做到这一点。 我使用自定义DynamicNodeProvider解决了这个问题,但它似乎不适合你的情况。