加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 22:21:42 所属栏目:asp.Net 来源:网络整理
导读:当用户上传超过限制的文件时,我尝试显示错误页面(请参阅 Catching “Maximum request length exceeded”) 在global.asax中,我想重定向到控制器操作,所以这样的东西,但它不工作? private void Application_Error(object sender,EventArgs e){ if (GlobalHelp
当用户上传超过限制的文件时,我尝试显示错误页面(请参阅 Catching “Maximum request length exceeded”)

在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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读