Redirect MVC 5-将对象传递到共享视图

Redirect MVC 5-将对象传递到共享视图,redirect,asp.net-mvc-5,asp.net-mvc-viewmodel,asp.net-mvc-views,onexception,Redirect,Asp.net Mvc 5,Asp.net Mvc Viewmodel,Asp.net Mvc Views,Onexception,我正在开发一个MVC 5 internet应用程序,在将对象传递到共享视图方面有一个问题 我在共享文件夹中有一个名为CustomError.cshtml的视图。此视图具有以下模型类型:@model CanFindLocation.ViewModels.CustomErrorViewModel 如何从控制器中的受保护覆盖void-OnException(ExceptionContext filterContext)函数将类型为CanFindLocation.ViewModels.CustomErr

我正在开发一个MVC 5 internet应用程序,在将
对象
传递到共享
视图
方面有一个问题

我在共享文件夹中有一个名为
CustomError.cshtml
视图。此视图具有以下模型类型:
@model CanFindLocation.ViewModels.CustomErrorViewModel

如何从
控制器中的
受保护覆盖void-OnException(ExceptionContext filterContext)
函数将类型为
CanFindLocation.ViewModels.CustomErrorViewModel
的对象传递到此
视图

这是我的密码:

protected override void OnException(ExceptionContext filterContext)
{
    Exception e = filterContext.Exception;

    if (e is HttpRequestValidationException)
    {
        filterContext.ExceptionHandled = false;
        customErrorViewModel = customErrorService.GetDefaultCustomError(customErrorType, "Test message.");
        RedirectToAction("CustomError", customErrorViewModel);
    }
}
不显示
视图
,而是调用以下函数:

protected void Application_Error(object sender, EventArgs e)

提前感谢。

我认为您无法返回所需的视图,因此我通常将值放入TempData并重定向到主页或任何登录页

主页检查此Viewbag中是否有值,如果有错误,则显示错误

控制器:

public class BaseController : Controller
    {
        protected void SetError(string message, params object[] args)
        {
            TempData["UIError"] = string.Format(message, args);
        }
    }
在我的共享(主)布局视图中:

@if (TempData["UIError"] != null)
        {
            <div class="alert alert-danger" role="alert">
                <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
                <span class="sr-only">Error:</span>
                @TempData["UIError"]
            </div>
        }
@if(TempData[“UIError”!=null)
{
错误:
@TempData[“UIError”]
}

@user373648:应用程序错误中抛出了什么异常?