hi,
So I have one custom model binder that inherits from DefaultModelBinder, where I am overriding the BindProperty() method to handle a type of field we've created.
I also have one controller that we'd like to override BindModel() on, since we're handling an object in session for multiple views with that controller.
So I have CustomModelBinder : DefaultModelBinder, and then in the class where we override BindModel() i have that inheriting from CustomModelBinder. SpecialModelBinder: CustomModelBinder
But I have set a breakpoint in our override of BindProperty() in CustomModelBinder, and this never gets hit when using the controller that is also overriding BindModel().
Can I not inherit like this? What's happening here?
Thank You!
edit:
in global.asax:
ModelBinders.Binders.Add(typeof(ClassA), new SpecialModelBinder());
ModelBinders.Binders.Add(typeof(ClassB), new CustomModelBinder());
ModelBinders.Binders.Add(typeof(ClassC), new CustomModelBinder());
ModelBinders.Binders.Add(typeof(ClassD), new CustomModelBinder());
public class CustomModelBinder : DefaultModelBinder
{
// this will be hit in controllers that handle classes B, C, and D, but will not be hit in controller that handles ClassA
protected override void BindProperty(...){}
}
public class SpecialModelBinder : CustomModelBinder
{
// this will be hit when working in controller that handles ClassA only
public override object BindModel(...){}
}