我有一个对象,其中定义了一个列表,该列表指向可以继承的类型。据我了解,MVC 的默认模型绑定器在将数据从表单读回此数组时始终实例化基本类型,因此默认情况下我将拥有基本类型列表。
所以我需要使用我自己的模型绑定器并覆盖CreateModel
以实例化特定类型(例如来自隐藏字段)。但是,当我这样做并使用
bindingContext.ValueProvider.GetValue("ModelType")
null
即使通过使用提琴手,它总是返回,我可以看到表单值Settings[0].ModelType
包含我的对象类型,我需要这个值CreateModel
来实例化正确的类型。