我想在我的 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?