如何在绑定后但在验证之前获取模型?

时间:2014-11-08 18:35:13

标签: asp.net-mvc asp.net-mvc-validation asp.net-mvc-filters

是否可以在模型中创建一个模型之后,但在验证之前进行全局拦截。我尝试了过滤器,但验证后会调用过滤器。

2 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

public class CustomModelBinder: DefaultModelBinder
{
    protected override void OnModelUpdated(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        base.OnModelUpdated(controllerContext, bindingContext);
        //You now have access to "bindingContext.Model" which is your model.
    }
}

然后在Application_StartGlobals.asax(不要忘记这一部分):

ModelBinders.Binders.DefaultBinder = new CustomModelBinder();

答案 1 :(得分:1)

尝试自定义模型绑定器。这将在模型验证之前拦截请求管道。实施IModelBinder