【发布时间】:2011-11-17 08:40:29
【问题描述】:
我可以在OnActionExecuting 方法中的自定义操作过滤器中检查ModelState.IsValid 吗?
【问题讨论】:
标签: asp.net-mvc-3 action-filter modelstate
我可以在OnActionExecuting 方法中的自定义操作过滤器中检查ModelState.IsValid 吗?
【问题讨论】:
标签: asp.net-mvc-3 action-filter modelstate
是的。 ModelState 是 ViewData 的一部分。所以你可以使用:
filterContext.Controller.ViewData.ModelState
例如,如果你想在动作执行后注入一些代码,但前提是ModelState.IsValid == true,你可以这样做:
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (!filterContext.Controller.ViewData.ModelState.IsValid) return;
// do something
}
【讨论】: