Проблема с изменением страницы с использованием AJAX Asp.Net MVC - PullRequest
0 голосов
/ 08 мая 2018

Я хочу отправить строку на мой домашний контроллер с ASP.NET MVC. Я делаю это с помощью Ajax-вызова, однако мне также нужно изменить представление при отправке строки.

Проблема в том, что для изменения страницы нам нужно сделать это в обработчике успеха Ajax. В результате мы снова вызываем метод контроллера. На этот раз строка даты имеет значение null, что приводит к исключению null. Как мы можем обойти это?

наш звонок AJAX:

dayClick: function(date) {

            $.ajax({
                url: '/Home/Booking',
                data: {'selectedDate' : date.format()},
                type: "get",
                cache: false,
                success: function (result) {
                    window.location.href = "/Home/Booking"
                },
                error: function (error) {
                    console.log(error.message);
                }
            });

        }

метод нашего контроллера:

        public IActionResult Booking(string selectedDate)
    {
        var booking = new Booking();

        DateTime selectedDatetime = DateTime.ParseExact(selectedDate, "yyyy-MM-dd", CultureInfo.CurrentCulture);
        booking.Date = selectedDatetime;

        var viewModel = new BookingsideViewModel
        {
            Subjects = new[] {"Matematik", "Dansk", "Engelsk"},
            Booking = booking
        };


        return View(viewModel);
    }

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Вы должны отправить его в URL как параметр запроса, как показано ниже:

window.location.href = "/Home/Booking?selectedDate=" + date.format()
0 голосов
/ 08 мая 2018

При повторном вызове метода контроллера в обработчике успеха нам снова нужно передать дату с помощью URL

dayClick: function(date) {

        $.ajax({
            url: '/Home/Booking',
            data: {'selectedDate' : date.format()},
            type: "get",
            cache: false,
            success: function (result) {
                window.location.href = "/Home/Booking?selectedDate=" +  date.format();
            },
            error: function (error) {
                console.log(error.message);
            }
        });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...