【发布时间】:2014-07-31 17:08:06
【问题描述】:
我正在尝试将颜色列表(id 编号)发布到我的控制器中的测试功能。我知道数据正在发送并且看起来格式正确。
当我发送数据时 fiddler 显示:
[{"ID":"15","Duration":"Permanent","bNotPermanent":"1"},
{"ID":"21","Duration":"Permanent","bNotPermanent":"1"}]
淘汰 AJAX 帖子:
SendData = ko.toJSON(self.AddColors) ;
alert(SendData);
$.ajax({
ContentType: 'application/json; charset=utf-8',
dataType: "json",
type: "POST",
url: '/EditColor/PostColors',
data: SendData
}).success(function (data) {
});
我正在使用的数据类:
public class AjaxColorList
{
public string ID { get; set; }
public string Duration { get; set; }
public string bNotPermanent { get; set; }
}
控制器功能: (我还尝试了 public JsonResult PostColors(String AddColors 只是为了看看是否有任何结果)
public JsonResult PostColors(List<Helpers.AjaxColorList> AddColors)
{
var ColorList = AddColors; // breakpoint set here
....
}
在上面函数的断点处,我看到 AddColors 为空。我确保 JSON 查询中的字段与数据类中的字段匹配。我错过了什么?
我还更改了代码,使其仅将一个对象传递给控制器,以验证它是否可以接收某些东西……任何东西。
添加的控制器函数如下所示:
public JsonResult RequestAddColor(Helpers.AjaxColor AddColor)
{
var color = AddColor; // breakpoint here
...
}
提琴手显示:
{"ID":"11","Duration":"Permanent","bNotPermanent":"false"}
但控制器将所有变量显示为空。
这一定是我想念的愚蠢/简单的东西。任何人都可以看到我的逻辑中的错误吗?
【问题讨论】:
标签: c# asp.net-mvc-4 knockout.js asp.net-ajax