Asp.net mvc 4 如何在MVC4中显示来自异常的错误消息而不重定向到新视图

Asp.net mvc 4 如何在MVC4中显示来自异常的错误消息而不重定向到新视图,asp.net-mvc-4,Asp.net Mvc 4,我希望捕获从类库方法到调用它的操作可能出现的异常,并希望在视图中显示错误,而不实际重定向到新视图。我已经在控制器中重写了OneException方法,并创建了一个局部视图来显示错误,但当出现错误时,局部视图不会呈现在我希望显示的位置,而是呈现在我有一个表的位置,它将被替换为错误消息,而错误消息不是我想要的,更不用说表格在视图中的位置与错误显示的位置不同。我没有用MVC做太多的异常处理,所以我不知道我的方法是否完全错误 我的异常代码 protected override void

我希望捕获从类库方法到调用它的操作可能出现的异常,并希望在视图中显示错误,而不实际重定向到新视图。我已经在控制器中重写了OneException方法,并创建了一个局部视图来显示错误,但当出现错误时,局部视图不会呈现在我希望显示的位置,而是呈现在我有一个表的位置,它将被替换为错误消息,而错误消息不是我想要的,更不用说表格在视图中的位置与错误显示的位置不同。我没有用MVC做太多的异常处理,所以我不知道我的方法是否完全错误

我的异常代码

        protected override void OnException(ExceptionContext filterContext)
    {
        Exception ex = filterContext.Exception;
        filterContext.ExceptionHandled = true;
        var controllerName = (string)filterContext.RouteData.Values["controller"];
        var actionName = (string)filterContext.RouteData.Values["action"];
        var exp = new HandleErrorInfo(filterContext.Exception, controllerName, actionName);

        //Assigns error message to property for message in view model
        ReceivngFormViewModel viewModel = new ReceivngFormViewModel
        {
            ErrorMessage = exp.Exception.Message
        };

        filterContext.Result = new PartialViewResult()
        {
            //_Error is the partial view
            ViewName = "_Error",
            ViewData = new ViewDataDictionary(viewModel)
        };
    }

这没有帮助,它与我一直在使用的代码做相同的事情,它会删除我的表,并将错误消息放在我的表以前所在的位置,而不是我指定的部分视图所在的位置。上面的代码发生了什么?我没有看到任何代码会重定向!
this code help you use ModelState.AddModelError  
**Controller**
Model obj=new Model();
     try{

    }
    cathch(exception ex){
    ModelState.AddModelError("objectname", ex.tostring());
    }
    return obj;
    **Viwe**
    @Html.ValidationMessageFor(model => model.objectname)