I had a Model with a property that is an abstract class
public class MyModel
{
public Foo Property { get; set; }
}
I have several implementations of Foo
, each with their own EditorTemplate. Each implementation also has fields unique to it. Let's call these AFoo
, BFoo
, and CFoo
.
Now, when I post my form, the model binder will try to create these all as Foo
. Obviously, this will not work, because Foo
is abstract.
Short of writing Model.GetType()
to a hidden field, then using a custom model binder, is there a way to tell the default model binder how to correctly construct the correct type?