问题是我通过$ 4.ajax将正确格式的对象数组发送到MVC中的POST方法,但是在后端它没有按预期接收。如果我发送一个包含3个对象的数组,则表明后端对象是作为3个对象的List接收的,但这些对象中的属性未正确加载。事实上,没有任何值被复制。
以下是相关的javascript代码
var array = new Array();
for (var i = 0 ; i < $('.TourCommission:enabled').length; i++)
{
var data = {
TourCodeID: parseInt($('.TourCommission:enabled').eq(i).parent().prev().html()),
Commission: parseFloat($('.TourCommission:enabled').eq(i).val())
};
array.push(data);
}
$.ajax({
url: '/Booking/submitAgentTourCommissions',
data: JSON.stringify(array),
type: "POST",
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
$('form').submit();
},
error: function () {
return true;
}
});
这是后端代码
[HttpPost]
public JsonResult submitAgentTourCommissions(List<AgentTourCommission> obj) {
return Json(true);
}
AgentTourCommission类如下
public class AgentTourCommission
{
public int UserID;
public string UserName;
public int TourCodeID;
public string TourCodeName;
public float Commission;
}
Javascript Watch的截图
BackEnd Watch的截图
答案 0 :(得分:2)
您需要像这样添加get set
:
public class AgentTourCommission
{
public int UserID { get; set; }
public string UserName { get; set; }
public int TourCodeID { get; set; }
public string TourCodeName { get; set; }
public float Commission { get; set; }
}
我希望你能帮忙!