问题很简单:我应该什么时候实现IModelBinder
,什么时候实现IModelBinderProvider
?
提前感谢!
发布于 2012-12-30 15:23:01
IModelBinderProvider
是一个提供IModelBinder
实现的工厂。对于一个类型总是使用相同的模型绑定器的简单情况,您只需要使用IModelBinder。对于需要动态确定要使用哪个模型绑定器的更复杂的情况,您可以实现IModelBinderProvider。
Jimmy Bogard和Brad Wilson比我解释得更好。
发布于 2016-01-18 07:34:00
在使用IModelBinderProvider时,仍然需要对绑定器类使用IModelBinder
We use IModelBinderProvider to help us don't need to register manual like
ModelBinders.Binders.Add(typeof(HomePageModels1), new HomeCustomBinder1());
ModelBinders.Binders.Add(typeof(HomePageModels2), new HomeCustomBinder2());
...
我们只需要添加1行
ModelBinderProviders.BinderProviders.Add(new YourModelBinderProvider());
when控制器有参数。它将自动调用方法
public IModelBinder GetBinder(Type modelType)
为您自定义模型
https://stackoverflow.com/questions/14089662
复制