我正在实现自定义模型绑定器。我研究了如何做到这一点,发现在WebApi的情况下,我需要实现IModelBinder
接口。
我的实现是这样的:
public class ModelBaseBinder : IModelBinder
{
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
if ((bindingContext.Model is MyModel))
{
//my code here
controller.InitModel(model);
return true;
}
return false;
}
}
我只是不确定我的实现是否完整。为了我的自定义实现工作,我需要调用任何默认的WebApi BindModel
吗?
我不确定这个实现,因为我以前没有尝试过。我应用于自定义模型绑定器的机制是使用bindingContext将模型设置为模型类的一个实例。模型属性。
交货)。bindingContext。
要使自定义模型绑定器在配置中发挥作用,有必要在动作参数旁边使用ModelBinder属性,将模型绑定器属性应用到模型类,或者创建参数绑定规则。将模型绑定器属性应用于动作方法参数为使用模型绑定器的地方增加了一些灵活性,并且是一种直接的方法
public IHttpActionResult FooAction([ModelBinder(BinderType=typeof(mymodelbinder))]Foo myFoo) { }