如何设置要将活页夹应用于的对象类型,例如:
ModelBinders.Binders.Add(typeof(Person), new PersonModelBinder());
我可以看到ModelBinders.Add有3个重载,
1) IModelBinder
2) ModelBinderDescriptor
3) Type
但我不确定如何将旧代码翻译成这个新代码?基本上我想要这样的事情:
services.AddMvc().Configure<MvcOptions>(options =>
{
options.ModelBinders.Add(typeof(Person), new PersonModelBinder()));
});
谢谢!顺便说一下,I have looked here as well。
答案 0 :(得分:1)
这似乎确实是MVC 6中的一个缺口。现在你必须直接在你的活页夹中编写代码。
public Task<bool> BindModelAsync(ModelBindingContext bindingContext)
{
if (bindingContext.ModelType == typeof(Person))
{
var value = // get the value
bindingContext.Model = value;
return Task.FromResult(true);
}
return Task.FromResult(false);
}
Here和here是框架中用于实现[FromHeader]
的类似代码
Here是问题跟踪的链接,可以为MVC 5带来类似的重载。