模型绑定器不绑定派生类的属性

Model Binder doesnt bind properties of derived classes

提问人:MedievalYeetMachine 提问时间:8/31/2023 最后编辑:MedievalYeetMachine 更新时间:8/31/2023 访问量:25

问:

我有一个自定义的模型绑定器,它绑定了 BaseClass 对象的列表。BaseClass 是抽象的,列表包含不同类型的派生对象。 绑定模型时,派生类属性的 ValueProvider.GetValue 返回空,并且这些属性未绑定。 我是否需要一些额外的设置才能访问这些属性?

我设置了一个密钥:

var modelOptionsKey = ModelNames.CreatePropertyModelName(indexKey, nameof(MultipleChoiceQDTO.Options));

和 ValueProviderResult:

var modelOptionsValueProviderResult = bindingContext.ValueProvider.GetValue(modelOptionsKey).Values.ToList()

我希望得到一个列表,其中包含来自 RazorPage 的值,但列表是空的。 常规字符串属性也是如此。

C# 模型绑定

评论


答: 暂无答案