Asp.net mvc 4 需要使用SiteMap MVC 4的帮助吗

Asp.net mvc 4 需要使用SiteMap MVC 4的帮助吗,asp.net-mvc-4,sitemap,Asp.net Mvc 4,Sitemap,在使用MVC4开发站点地图时,我遇到了这样的情况:我的应用程序有3个以上的参数可供导航 当前情况: 1.索引>第1页(带参数A、参数B)>第2页(带参数A、参数B、参数C、参数D) 当我从索引导航到第1页到第2页时,根本没有问题, 但当我从第2页返回到第1页时,它导致了一个错误,因为它丢失了 一个参数(在这种情况下,它丢失了参数B) 以下是我的示例代码: 在站点地图配置 <mvcSiteMapNode title="Home" controller="Home" action="Index

在使用MVC4开发站点地图时,我遇到了这样的情况:我的应用程序有3个以上的参数可供导航

当前情况:
1.索引>第1页(带参数A、参数B)>第2页(带参数A、参数B、参数C、参数D)

当我从索引导航到第1页到第2页时,根本没有问题,
但当我从第2页返回到第1页时,它导致了一个错误,因为它丢失了
一个参数(在这种情况下,它丢失了参数B)

以下是我的示例代码:

在站点地图配置

<mvcSiteMapNode title="Home" controller="Home" action="Index">
  <mvcSiteMapNode title="Administration" controller="Administrative" action="Index">
     <mvcSiteMapNode title="Maintain Methodology Phases" controller="Common/MethodologyPhase" action="Index" key="MethodologyPhase" />
   </mvcSiteMapNode>
</mvcSiteMapNode>
控制器第2页,看起来是这样的:

[Lib.Authorization(ModuleId = "Admin")]
[MvcSiteMapNode(Title = "Create Sub Phase", ParentKey = "EditPhase", PreservedRouteParameters = "id,PCode,Pdesc,SPCode")]
public ActionResult EditSubPhase(int id, string PCode, string Pdesc, string SPCode)
{
      ....
}

你知道我的代码出了什么问题吗?谢谢。

看看MVC区域功能。站点地图是ASP.Net的一项功能。在MVC中,您可以使用区域来替换站点地图。当项目中有多个Are时,您可以定义自己的路由和参数。看看如何在MVC中使用area。希望这有帮助

[Lib.Authorization(ModuleId = "Admin")]
[MvcSiteMapNode(Title = "Create Sub Phase", ParentKey = "EditPhase", PreservedRouteParameters = "id,PCode,Pdesc,SPCode")]
public ActionResult EditSubPhase(int id, string PCode, string Pdesc, string SPCode)
{
      ....
}