我有一个关于 ASP.NET MVC(我正在使用 MVC 2 预览版 2)中与继承相关的 ModelBinding 的问题。
假设我有以下接口/类:
interface IBase
class Base : IBase
interface IChild
class Child: Base, IChild
我有一个自定义模型绑定器 BaseModelBinder。
以下工作正常:
ModelBinders.Binders[typeof(Child)] = new BaseModelBinder();
ModelBinders.Binders[typeof(IChild)] = new BaseModelBinder();
以下不起作用(在绑定 Child 类型的对象时):
ModelBinders.Binders[typeof(Base)] = new BaseModelBinder();
ModelBinders.Binders[typeof(IBase)] = new BaseModelBinder();
有没有办法让一个基类的模型绑定器适用于所有继承的类?我真的不想为每个可能的继承类手动输入一些东西。
另外,如果可能的话,有没有办法为特定的继承类覆盖模型绑定器?假设我得到了这个工作,但我需要一个用于 Child2 的特定模型绑定器。
提前致谢。