【问题标题】:Need help to use SiteMap MVC 4需要帮助才能使用 SiteMap MVC 4
【发布时间】:2013-08-30 09:34:18
【问题描述】:

在使用 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) 
{
       ......
}  

Controller Page 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)
{
      ....
}

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

【问题讨论】:

    标签: asp.net-mvc-4 sitemap


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-24
      • 1970-01-01
      • 2011-03-08
      相关资源
      最近更新 更多