В связи с этим я получил модель типа HistorySearch
.Затем я хочу отправить эту модель в контроллер, используя ajax
:
$("#exportCsv").click(function () {
// get model as json
var searchData = '@Html.Raw(Json.Encode(@Model))';
searchData = JSON.stringify({ 'search': searchData });
$.ajax({
//contentType: 'application/json; charset=utf-8',
url: '@Url.Action("ExportToCsv", "BankCosts")',
type: 'POST',
data: searchData,
dataType: 'json',
error: function (xhr) {
alert('Error: ' + xhr.statusText);
},
async: true,
});
});
Как видите, я должен был прокомментировать contentType
, потому что по какой-то причине с этой переданной моделью в контроллере установлено значение null
.
Кроме того, мой контроллер запрограммирован так:
[HttpPost]
public void ExportToCsv(HistorySearch search)
{
// search properties are not filled. They are set to default value
}
Дело в том, что привязка работает неправильно.Полученные search
свойства устанавливаются в значения по умолчанию.Что там не так?