asp.net-mvc-2 – 我可以从global.asax重定向到控制器操作吗?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-2 – 我可以从global.asax重定向到控制器操作吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
用户上传超过限制的文件时,我尝试显示错误页面(请参阅 Catching “Maximum request length exceeded”)

在global.asax中,我想重定向到控制器操作,所以这样的东西,但它不工作?

  1. private void Application_Error(object sender,EventArgs e)
  2. {
  3. if (GlobalHelper.IsMaxRequestExceededEexception(this.Server.GetLastError()))
  4. {
  5. this.Server.ClearError();
  6. return RedirectToAction("Home","Errorpage");
  7. }
  8. }

解决方法

尝试这样:
  1. protected void Application_Error()
  2. {
  3. var exception = Server.GetLastError();
  4. // TODO: Log the exception or something
  5. Response.Clear();
  6. Server.ClearError();
  7.  
  8. var routeData = new RouteData();
  9. routeData.Values["controller"] = "Home";
  10. routeData.Values["action"] = "ErrorPage";
  11. Response.StatusCode = 500;
  12. IController controller = new HomeController();
  13. var rc = new RequestContext(new HttpContextWrapper(Context),routeData);
  14. controller.Execute(rc);
  15. }

猜你在找的asp.Net相关文章