我一直在努力从一个视图传递给一个对象,该对象在其内部具有一个对象列表作为属性。它就像:
ModelA =
{
PropertyA,
PropertyB,
List<ModelB>
}
ModelB =
{
Property1,
Property2
}
我尝试使用AJAX,如$ .toJSON,$ .toDictionary。
同样使用[0] ModelB,[1] ModelB以避免使用AJAX。
我尝试的方式并不重要我总是将ModelA.ModelB作为空列表接收。所有其他属性都可以。
我在这上面花了太多时间......
编辑: 请求是从客户端到服务器。在这里你有我如何做这个帖子(至少我试过的方式之一)
var model =
{
Cost: $("#Cost").val(),
Time: $("#Time").val(),
Resources: $("#Resources").val(),
Feedstocks: []
};
$.each($(".selected"), function (index, item) {
model.Feedstocks.push({
ProductID: $("#ProductID").val(),
Scrap: $(this).find(".scrap").val(),
Quantity: $(this).find(".quantity").val()
});
});
$.ajax({
type: 'POST',
url: "Products/AddProcess",
contentType: 'application/json',
data: JSON.stringify(model),
dataType: 'json',
success: function (data) {
if (data.Result) {
window.location.href = "/Products/Details/" + $("#ProductID").val();
}
else {
alert(data.Value);
}
}
})