我使用的是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现在,如果我导航到Node2,我发现MenuHelper.GetCurrentNode()返回Node1。
为什么会这样?有没有办法让MvcSiteMapProvider根据querystring参数识别当前节点?
发布于 2012-10-22 15:38:48
我相信这是可能的,尽管我还没有测试过。你应该在他们的github存储库查看wiki。它有一些有用的信息,但仍然缺乏一些基本的例子。
https://github.com/maartenba/MvcSiteMapProvider/wiki/Dynamic-sitemaps/
发布于 2012-10-22 15:12:30
不幸的是,没有办法做到这一点。我使用自定义的DynamicNodeProvider解决了这个问题,但它似乎不适合您的情况。
https://stackoverflow.com/questions/12998336
复制相似问题