0

在使用 MVC 4 开发站点地图时,我的应用程序有超过 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>

在控制器级别,它看起来像 (第 1 页):

[Lib.Authorization(ModuleId = "Admin")]
[MvcSiteMapNode(Title = "Edit Phase", ParentKey = "MethodologyPhase", PreservedRouteParameters = "id,PhaseCode", Key = "EditPhase")]
public ActionResult EditPhase(int id, string PhaseCode) 
{
       ......
}  

控制器页面 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)
{
      ....
}

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

4

1 回答 1

0

看看 MVC 区域功能。Sitemap 是 ASP.Net 的一项功能。在 MVC 中,您可以使用 Area 来替换站点地图。虽然您的项目中有多个区域,但您可以定义自己的路由和参数。看看这篇关于如何在 MVC 中使用区域的文章。希望这可以帮助。

于 2013-08-30T09:50:41.833 回答