Pameter контроллера MVC получает нулевое значение в вызове AJAX - PullRequest
0 голосов
/ 15 февраля 2019

Я делаю AJAX-вызов как этот

 deleteAge(item: any): string {

           $.ajax({
                method: "POST",
                url: 'DeleteAge',
                data: item.Id(),
                success: (response) => {
                    toastr.success("ready soon");
                },
                error: (event) => {
                    toastr.error("Error occured ");
                }
            }).always(() => {

                });


        return "";


    }

Вот мой метод в контроллере, который в настоящее время практически ничего не реализовал

 [HttpPost]
    public ActionResult DeleteAge(string id)
    {
        throw new Exception();
    }

когда я запускаю код, то в моем контроллере яне получить идентификатор .. его ноль.когда я отлаживаю свой код JavaScript, тогда этот код item.Id() не является пустым.Даже если я передаю жестко закодированное значение в данные в вызове ajax, контроллер все равно становится нулевым.Что не так?

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Вместо использования:

data: item.Id(),

Я бы предложил использовать:

data: { id: item.Id()},

Таким образом, значение идентификатора связано с именем id, что позволяет привязке модели работатьправильно.

0 голосов
/ 15 февраля 2019

Передача параметров, таких как json формат в ajax

замена data: item.Id() with data: {id: 1}

...