MVC 4 を使用してサイトマップを開発しているときに、アプリケーションにナビゲートするパラメーターが 3 つ以上ある状況があります。
現在の状況:
1. インデックス > ページ 1 (パラメーター A、パラメーター B を使用) > ページ 2 (パラメーター A、パラメーター B、パラメーター C、パラメーター D を使用)
インデックスからページ 1、ページ 2 に移動してもまったく問題はありませんが
、ページ 2 からページ 1 に戻ると、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)
{
....
}
私のコードで何が間違っていたのか分かりますか? ありがとうございました。