1

カバレッジと呼ばれるエリアがあります。ルーティングは次のようになります。

context.MapRoute(

           "CoverageSummary", // Route name

           "Coverage/Summary/{policyId}", // URL with parameters

           new { controller = "Coverage", action = "Summary", policyId = UrlParameter.Optional }, // Parameter defaults

           new string[] { "Web.Mvc.Claims.Areas.Coverage.Controllers" }

           );

Mysite / Coverage / Summary / 10ページにアクセスすると、ページが表示されます。大丈夫。しかし、アクションメソッドでは、次のようなコードがあります

return RedirectToAction("Summary","Coverage", new RouteValueDictionary(new { policyID = 10 }));

ただし、これはMysite / Coverage / Summary/10ページをロードしていません。404エラーが表示されています。ページを更新しても404が表示されますが、アドレスバーで同じURLを切り取って貼り付け、Enterキーを押すと機能します

理由は何ですか

4

1 に答える 1

1

RouteValueDicitionaryのareaプロパティを試してください

return RedirectToAction("Summary","Coverage", new RouteValueDictionary(new { policyID = 10, area = "Your_Area_Name" })); 
于 2011-11-29T22:05:59.810 に答える