MVC 2
Я пытаюсь опубликовать действие MVC с помощью jQuery, но получаю исключение, сообщающее, что id
равно нулю.Нужен ли какой-то атрибут в действии контроллера для принятия таких пакетов json?Что-то еще мне не хватает?
[HttpPost]
public ActionResult SearchCategory(int id, string SearchTerm, int PageNumber, int SiteIdFilter)
{
return Json(AssociationsDao.SearchCategory(id, SearchTerm, PageNumber, SiteIdFilter));
}
post('<%= Url.Action("SearchCategory") %>',
JSON.stringify({id: 12, SearchTerm: '', PageNumber: 1, SiteIdFilter: 1}),
function(d) { alert(d); });
function post(targetURL, dataInput, success) {
$.ajax({
url: targetURL,
type: "POST",
contentType: "application/json; charset=utf-8",
data: dataInput,
dataType: "json",
success: success,
async: true
});
}
Из инструментов разработчика Chrome это исключение:
Словарь параметров содержитпустая запись для параметра 'id' ненулевого типа 'System.Int32' для метода 'System.Web.Mvc.ActionResult SearchCategory (Int32, System.String, Int32, Int32)' в 'Current.Web.BackOffice.WebUI.Controllers.SiteProductAssociationsController.Необязательный параметр должен быть ссылочным типом, обнуляемым типом или быть объявлен как необязательный параметр.Имя параметра: параметры
РЕДАКТИРОВАТЬ
Вот скриншот данных поста из chrome;Я не вижу в этом ничего плохого: