我有一个JavaScript函数,如下所示:无法JSON数据发送到MVC控制器
function exportToExcel() {
$.ajax({
url: "/eBird/ExportToExcel",
data: jsonSightingData,
type: 'POST',
contentType: 'application/json'
});
}
我的MVC控制器看起来是这样的:
public ActionResult ExportToExcel(List<Entities.MyClass> data)
{
try
{
...
}
catch (System.Exception exception)
{
...
}
MyClass的确定指标是:
public class MyClass
{
public string comName { get; set; }
public int howMany { get; set; }
public double lat { get; set; }
public double lng { get; set; }
public string locID { get; set; }
public string locName { get; set; }
public bool locationPrivate { get; set; }
public string obsDt { get; set; }
public bool obsReviewed { get; set; }
public bool obsValid { get; set; }
public string sciName { get; set; }
}
该类匹配正好进入的JSON数据。问题是当我的控制器方法被调用时,'data'总是NULL。我的理解是,MVC模型绑定器会自动将JSON数据绑定到我的MyClass列表。但它似乎没有工作。
样品JSON如下:
[{"comName":"Great Black-backed Gull","lat":42.4613266,"lng":-76.5059255,"locID":"L99381","locName":"Stewart Park","locationPrivate":false,"obsDt":"2014-09-19 12:40","obsReviewed":false,"obsValid":true,"sciName":"Larus marinus"}]
你可以展示一个JSON的例子吗? – 2014-09-20 00:41:11
当你在控制器动作中查看'ModelState'时,是否会看到任何错误? – 2014-09-20 00:44:32
@AndrewWhitaker - ModelState.IsValue = true – 2014-09-20 00:47:29