如何修改自定义模型绑定器何时实现

时间:2014-02-04 19:01:27

标签: asp.net-mvc

我有一个自定义模型绑定器,它可以按我想要的方式工作。

ModelBinders.Binders.DefaultBinder = new CustomModelBinder();

问题是我只想在需要的基础上实现它,并且不要想要否决默认的模型绑定器。

一项研究提出了在执行模型绑定器时添加指定的Type键以进行指导的想法(见下文)。

ModelBinders.Binders.Add(typeof(List), new CustomModelBinder());

不幸的是,除非我将DefaultBinder设置为CustomModelBinder,否则这似乎对我不起作用。

是否可以保留默认的模型绑定器?

1 个答案:

答案 0 :(得分:1)

您不必全局设置某个自定义模型绑定器。您可以按Action方法设置它:

public ActionResult SomeAction([ModelBinder(typeof(CustomModelBinder))]SomeModel m){
    //...
}

它仅适用于上述场景。在使用绑定到Action的所有其他SomeModel方法中,但未应用ModelBinder属性,它将使用默认模型绑定器。