我有一個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