2

我正在尝试将 MvcSiteMapProvider 与 MVC 4 站点一起使用,并且在具有(例如)项目列表页面和子项目详细信息页面的站点部分中遇到问题。

当您访问详细信息页面时,从列表中选择的实体的 ID 在 URL 中指定,例如: ~/Project/2/Detail

我没有将详细信息页面设置为动态节点,因为我不希望站点地图提供程序提供任何增强的功能。本质上,我希望站点地图提供程序忽略URL 参数,projectID并且始终只映射到 Detail 操作。

不幸的是,我遇到了以下问题:

  • 如果应用程序以针对列表页面的第一个请求开始,则用户可以单击进入任何项目,并且站点地图与详细信息页面匹配得很好。
  • 如果应用程序以对 Detail 页面的请求开始,则 SiteMap 仅在 URL 包含第一个请求的 ProjectID 时匹配 Detail 页面,即如果您访问任何其他 Project,则 SiteMap currentnode 为空。

我曾尝试禁用缓存,启用长时间缓存,甚至一直在挖掘源代码但没有成功。不一致的行为表明这是一个错误。任何帮助将不胜感激。

4

1 回答 1

0

此问题已解决。

请参阅 MvcSiteMapProvider 的 github 上的线程:

https://github.com/maartenba/MvcSiteMapProvider/issues/154

于 2013-04-17T08:53:58.790 回答