1

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

4

2 回答 2

1

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

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

于 2012-10-22T07:38:47.923 回答
0

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

于 2012-10-22T07:12:29.923 回答