我有一个类似的问题,就像这里描述的 那样我想为控制器提供一个通用的错误处理机制,如果发生错误,我想显示发生错误的相同视图,并将错误添加到 ModelState。我有这样的事情:
public override void OnException(ExceptionContext filterContext)
{
filterContext.Controller.TempData["UnhandledException"] = filterContext.Exception;
filterContext.ExceptionHandled = true;
((Controller)filterContext.Controller).ModelState.AddModelError(
((BaseException)filterContext.Exception).Message,
((BaseException)filterContext.Exception).StackTrace
);
filterContext.Result = new ViewResult
{
ViewName = this.View,
TempData = filterContext.Controller.TempData,
ViewData = filterContext.Controller.ViewData,
};
}
但我在 Index.cshtml ln 中收到空引用异常。3 错误消息:App_Web_dc1p1y1y.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理
我的 index.cshtml 中的代码:
@model MyProject.Web.Models.UserProfileViewModel
@{
ViewBag.Title = "User profile";
}
<section>
<div class="noPadding">
<div class="col-xs-12 noPadding">
<h2>My profile</h2>
</div> etc....
所以我不想重定向到一些错误视图,但我想在它发生的 samve 视图上显示错误。
我究竟做错了什么 ?