我的这篇博文可以帮助你很多:
Asp.net MVC 模型绑定到 List<T>
但基本上你会为你提供字段IncomeDeclaration
,然后ActivityIncomeDeclaration
根据需要动态添加字段。
如果您想实际序列化表单,则必须按照上面博客文章中提供的说明进行操作。
但是如果您使用 jQuery ,还有第二个选择。您可以操作一个复杂的 JavaScript 对象,该对象将是同一服务器端 C# 类的副本,例如:
var incDec = {
Name: ""
// and other properties
ActivityIncomeDeclarations: []
};
然后,当用户添加那些 ActivityIncomeDeclarations 时,您总是只需调用
incDec.ActivityIncomeDeclarations.push({
// properties
});
然后我的另一篇博客文章将帮助您将此对象转换为一个字典,例如 jQuery 很容易处理:
使用 jQuery 将复杂的 JSON 对象发送到 Asp.net MVC
通过使用 prlogin 博客文章,您可以轻松地做到:
$.ajax({
url: "someURL",
type: "POST",
data: $.toDictionary(incDec),
success: function(data, status, xhr){
// process success
},
error: function(xhr, status, err){
// process error
}
});