У меня есть такая форма:
<form id="orderForm">
<input name="Customer" value="Mr.Test" />
<input name="ProductLines" value='[{"Product":{"Name":"Orange","Price":"10"},"amount":"2","total":"20"}, {"Product":{"Name":"Apple","Price":"5"},"amount":"3","total":"15"}]' />
</form>
и контроллер с моделями вида:
[HttpPost]
public ActionResult Save(OrderViewModel vm)
{
//...
}
public class OrderViewModel
{
public OrderViewModel() { ProductLines = new List<OrderProductViewModel>(); }
public string Customer { get; set; }
public IEnumerable<OrderProductViewModel> ProductLines { get; set; }
}
public class OrderProductViewModel
{
public ProductViewModel Product { get; set; }
public int Amount { get; set; }
public int Total { get; set; }
}
public class ProductViewModel
{
public string Name { get; set; }
public int Price { get; set; }
}
можно ли опубликовать эту форму с помощью jquery
$.post('@Url.Action("Save")', $("#orderForm").serialize(), function (data) {//...}, "json");
и получите заполненную коллекцию ProductLines на стороне сервера.(в настоящее время он всегда пуст)
Спасибо!