У меня есть функция 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 Defintion является:
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, поступающим точно. Проблема в том, что когда мой метод контроллера вызывается, «данные» всегда равны 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, что вы 'POST'ing? –
Когда вы смотрите на «ModelState» в действии контроллера, вы видите какие-либо ошибки? –
@AndrewWhitaker - ModelState.IsValue = true –