5

我可以ModelState.IsValid在方法中签入我的自定义操作过滤器OnActionExecuting吗?

4

1 回答 1

11

是的。ModelState 是 ViewData 的一部分。所以你可以使用:

filterContext.Controller.ViewData.ModelState

例如,如果你想在动作执行后注入一些代码,但只有 if ModelState.IsValid == true,你可以这样做:

public override void OnActionExecuted(ActionExecutedContext filterContext)
{
    if (!filterContext.Controller.ViewData.ModelState.IsValid) return;
    // do something
}
于 2011-09-16T06:18:59.593 回答