情况是这样的:
我找不到获取传递给POST操作方法的viewmodel的方法.
[HttpPost] public ActionResult Edit(SomeCoolModel viewmodel) { // Some Exception happens here during the action execution... }
在控制器的可覆盖的OnException内:
protected override void OnException(ExceptionContext filterContext) { ... filterContext.Result = new ViewResult { ViewName = filterContext.RouteData.Values["action"].ToString(),TempData = filterContext.Controller.TempData,ViewData = filterContext.Controller.ViewData }; }
调试代码时,filterContext.Controller.ViewData为null,因为代码执行时发生了异常,并且未返回任何视图.
无论如何,我看到filterContext.Controller.ViewData.ModelState被填充并具有我需要的所有值,但我没有完整的ViewData => viewmodel对象可用.