在GET请求上在同一页面上呈现异常信息

时间:2017-12-18 18:09:06

标签: asp.net-mvc error-handling

如果HTTP GET操作方法抛出错误并且我使用继承自HandleErrorAttribute的类处理该错误,有没有办法返回导致带有HandleErrorInfo信息的异常的相同View?

我基本上想在同一页面上显示错误信息,导致它出现在顶部,类似于我对POST请求的处理方式。

我如何设置filterContext的结果来做这样的事情?

以下是我的错误处理类的实现:

public override void OnException(ExceptionContext filterContext)
    {
        filterContext.ExceptionHandled = true;
        HandleErrorInfo model = new HandleErrorInfo(filterContext.Exception, (string)filterContext.RouteData.Values["controller"], (string)filterContext.RouteData.Values["action"]);

        // How do I pass the model back to the calling View which threw the error?

        filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(filterContext.RouteData.Values));
    }

然后我希望能够从调用View访问该模型。我可以使用TempData或ViewData,还是被认为是不好的做法?

谢谢!

0 个答案:

没有答案