global.asaxでresponse.redirecttorouteを使用してカスタムルートを使用したいのですが、機能していません。RouteConfigには次のものがあります。
routes.MapRoute(
name: "Error",
url: "Error/{action}/{excep}",
defaults: new { action = "Index", excep = UrlParameter.Optional }
);
そして、私のglobal.asaxで、私は次のことを行います。
Response.RedirectToRoute("Error", new { action="Index", excep=ex.Message });
私のErrorControllerには次のものがあります。
public ActionResult Index(string excep)
{
ViewBag.Exception = excep;
return View();
}
エラーのインデックスビューで、ViewBag.Exceptionを呼び出して例外を表示します。
私が使用するとき:
Response.Redirect("/Error/Index/0/"+ex.Message, true);
そして、これを私のコントローラーで使用します。
public ActionResult Index(int? id,string excep)
{
ViewBag.Exception = excep;
return View();
}
それは動作しますが、これはデフォルトルートであり、私が望むものではありません。リダイレクトでは機能するのにredirecttorouteでは機能しないのはなぜですか?