我正在尝试将 MvcSiteMapProvider 与 MVC 4 站点一起使用,并且在具有(例如)项目列表页面和子项目详细信息页面的站点部分中遇到问题。
当您访问详细信息页面时,从列表中选择的实体的 ID 在 URL 中指定,例如:
~/Project/2/Detail
我没有将详细信息页面设置为动态节点,因为我不希望站点地图提供程序提供任何增强的功能。本质上,我希望站点地图提供程序忽略URL 参数,projectID
并且始终只映射到 Detail 操作。
不幸的是,我遇到了以下问题:
- 如果应用程序以针对列表页面的第一个请求开始,则用户可以单击进入任何项目,并且站点地图与详细信息页面匹配得很好。
- 如果应用程序以对 Detail 页面的请求开始,则 SiteMap 仅在 URL 包含第一个请求的 ProjectID 时匹配 Detail 页面,即如果您访问任何其他 Project,则 SiteMap currentnode 为空。
我曾尝试禁用缓存,启用长时间缓存,甚至一直在挖掘源代码但没有成功。不一致的行为表明这是一个错误。任何帮助将不胜感激。