У меня проблемы с передачей сериализованного объекта js в контроллер и возможностью связывания модели по умолчанию автоматически десериализовать его в мой объект.
Я могу вручную десериализовать значение в свой объект, все нормально.но я хотел бы знать, почему это не работает.
Спасибо
Вот мой фрагмент кода
js code
$.post('/Order/AddRecordAddHocStock2', { idPatient: $patientId, "orderItems": JSON.stringify($orderItems) }, function (data) {
//$("#recordingdialog").html(data).dialog("open");
var $dialog = $("#popup_dialog2");
$dialog.empty();
$dialog
.dialog({
bgiframe: true,
title: $title,
height: 700,
width: 650,
modal: true,
autoOpen: false,
resizable: false
});
$dialog.html(data).dialog("open");
});
Вот значение сообщения, полученное из firefox
idPatient 72
orderItems [{"Id":0,"ProductName":"01870","Quantity":0,"StockOnHand":0,"MaxAllowance":12,"OrderTotal":0},{"Id":0,"ProductName":"01870","Quantity":0,"StockOnHand":0,"MaxAllowance":1,"OrderTotal":0}]
Вот мой контроллер, который я ожидал, что orderItems должен автоматически заполнить значение из предыдущего объекта js
[HttpPost]
public virtual ActionResult AddRecordAddHocStock2(long idPatient, List<OrderItemModel> orderItems)
{
var items = Request.Form["orderItems"];
//it's working if I manually deserialize the js object
var data = new JavaScriptSerializer().Deserialize(items,typeof(List<OrderItemModel>));
}