我有一个自定义模型绑定器,它可以按我想要的方式工作。
ModelBinders.Binders.DefaultBinder = new CustomModelBinder();
问题是我只想在需要的基础上实现它,并且不要想要否决默认的模型绑定器。
一项研究提出了在执行模型绑定器时添加指定的Type键以进行指导的想法(见下文)。
ModelBinders.Binders.Add(typeof(List), new CustomModelBinder());
不幸的是,除非我将DefaultBinder设置为CustomModelBinder,否则这似乎对我不起作用。
是否可以保留默认的模型绑定器?
答案 0 :(得分:1)
您不必全局设置某个自定义模型绑定器。您可以按Action方法设置它:
public ActionResult SomeAction([ModelBinder(typeof(CustomModelBinder))]SomeModel m){
//...
}
它仅适用于上述场景。在使用绑定到Action
的所有其他SomeModel
方法中,但未应用ModelBinder
属性,它将使用默认模型绑定器。