而不是一个快速解决方案我更想知道别人在做什么。制作ModelState持久,但不是太持久
的问题是,我使用的ModelState为用户的错误/验证报告,但是当我使用一个RedirectToAction(),该ModelState中丢失。为了克服这个问题,我添加了一些代码,我们的基本控制器(所有其他控制器继承),在OnActionExecuting的覆盖,我说:
if (TempData["ModelState"] != null && !ModelState.Equals(TempData["ModelState"]))
ModelState.Merge((ModelStateDictionary)TempData["ModelState"]);
而在OnActionExecuted的覆盖,我说:
TempData["ModelState"] = ModelState;
问题在于这意味着某些错误信息可能显示在错误的页面上。我只是在开始的时候运行一个ModelState.clear()
,我知道它会覆盖/纠正当前的错误,但有些情况下它不会被清除,并且会在奇怪的地方显示错误。
其他人怎么处理?任何想法的欢迎。由于
我找到了'如果(filterContext.Result是的ViewResult)`部分没有工作,因为我的成绩一直是空的,但采取了这一点,它的工作就像一个魅力。谢谢 – Ben 2011-01-27 17:36:53