我试图将一个JSon发送回控制器,其属性是一个泛型类的列表。在该列表中,将存在不同专用类的实例。如下所示:
class Coluna
{ (...) }
class ColunaInformacao : Coluna
{ (...) }
class ColunaResposta : Coluna
{ (...) }
和list属性本身:
class Apuracao
{
public List<Coluna> Colunas { get; set; }
}
在视图上,我成功创建了一个带有Apuracao
实例和它的列表属性(Colunas
)的JSon,其中我有{{1}的实例}和ColunaInformacao
类型。
问题是:当控制器将JSon绑定到我的模型时,它会在类型ColunaResposta
上创建列表属性上的所有项目,并丢弃特定类中的额外数据({{ 1}}和Coluna
)。
如何在绑定上完成正确的类型?
编辑: 只是为了澄清一点: 我将数据从视图发送到控制器。 JSON完美形成。 控制器接收它并且没有任何问题地绑定它。
我的问题依赖于JavaScript类的松散类型,因此,没有&#34;类类型&#34;在它上面(通用[对象]除外)。绑定JavaScript类的字符串版本(JSon)时,defaultBinder如何知道它必须在我的C#模型上使用哪个专用类。