【发布时间】:2012-01-31 17:54:34
【问题描述】:
我有一组要发布到 MVC3 控制器的 JSON 对象。根据我运行的提琴手检查,JSON 似乎发布得很好。 (包括在下面)控制器正在接受我设置的自定义类来接收 JSON 数据。这似乎也可以正常工作(下面包含调试器屏幕截图)问题是对象属性似乎不像我期望的那样自动绑定。名称都匹配,我不确定问题。
jquery在下方(先点击添加到数组,再点击发布数据)
var removes = [];
var adds = [];
var transaction = {
'adds': adds,
'removes': removes
};
jQuery(".AddCardLink").click(function () {
var card = [{
Id: jQuery(this).attr("cardid"),
Name: jQuery(this).attr("cardname")
}];
transaction.adds.push(card);
})
jQuery("#btnSave").click(function () {
jQuery.ajax({
type: "POST",
url: "/SaveTransactionLog",
data: JSON.stringify(transaction),
dataType: "json",
contentType: "application/json",
success: function (data) {
alert("Test");
}
});
});
这是发送数据的提琴手视图
自定义类和控制器如下:
public class Card
{
public int Id { get; set; }
public string Name { get; set; }
}
public class JsonTransaction
{
public List<Card> Adds { get; set; }
public List<Card> Removes { get; set; }
}
[HttpPost]
public JsonResult SaveTransactionLog(JsonTransaction transaction)
{
return Json()
}
最后,这是调试器查看JsonTransaction,可以看到自动绑定设置了正确的列表,但是列表属性中的Card是空的。
如果你坚持到最后,谢谢!任何帮助都会很棒!
【问题讨论】:
标签: json asp.net-mvc-3