Asp.net-Mvc-2

我可以從 global.asax 重定向到控制器操作嗎?

  • June 5, 2014

當使用者上傳超過限制的文件時,我試圖顯示錯誤頁面(請參閱擷取“超出最大請求長度”

在 global.asax 中,我想重定向到控制器操作,所以像這樣但它不起作用?:

private void Application_Error(object sender, EventArgs e)
{
   if (GlobalHelper.IsMaxRequestExceededEexception(this.Server.GetLastError()))
   {
       this.Server.ClearError();
       return RedirectToAction("Home","Errorpage");
   }
}

試試這樣:

protected void Application_Error()
{
   var exception = Server.GetLastError();
   // TODO: Log the exception or something
   Response.Clear();
   Server.ClearError();

   var routeData = new RouteData();
   routeData.Values["controller"] = "Home";
   routeData.Values["action"] = "ErrorPage";
   Response.StatusCode = 500;
   IController controller = new HomeController();
   var rc = new RequestContext(new HttpContextWrapper(Context), routeData);
   controller.Execute(rc);
}

引用自:https://stackoverflow.com/questions/6703516