是否可以在模型中创建一个模型之后,但在验证之前进行全局拦截。我尝试了过滤器,但验证后会调用过滤器。
答案 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_Start
中Globals.asax
(不要忘记这一部分):
ModelBinders.Binders.DefaultBinder = new CustomModelBinder();
答案 1 :(得分:1)
尝试自定义模型绑定器。这将在模型验证之前拦截请求管道。实施IModelBinder
。