Модель не обновляется после поста jquery ajax - PullRequest
0 голосов
/ 14 сентября 2018

Я работаю над приложением, которое должно возвращать несколько списков на основе выбранных значений.

Когда организация выбрана, будет запущено несколько запросов для заполнения списка выбора. Эти запросы возвращают только данные, относящиеся к выбранной организации.

После этого появляется выпадающий список для выбора списка отображения. Это заполнит другой выпадающий список данными, возвращенными из запроса.

При начальной загрузке загружается правильно для первой организации. Однако при выборе другой организации сообщение ajax будет вызывать метод. это успешно выполнит запросы и установит свойства для возвращаемых списков. однако проблема в том, что страница бритвы все еще использует данные из начальной загрузки.

это приводит к тому, что какую бы организацию я ни выбрал, она будет использовать данные из запросов для первой организации на странице бритвы.

ниже вызова ajax

         $.ajax({
                method: "POST",
                url: "/Aanleveringen/Create?handler=Filter",
                beforeSend: function (xhr) {
                    xhr.setRequestHeader("XSRF-TOKEN",
                        $('input:hidden[name="__RequestVerificationToken"]').val());
                },
                dataType: "json",
                data: { organisatieId: $('#ddlOrganisatie option:selected').val() },
                success: function (msg) {
                    alert(msg);
                },
                error: function (req, status, error) {
                    alert("Error try again");
                }
            });

и метод:

    [HttpPost]
    public IActionResult OnPostFilter(int organisatieId)
    {
        Filter filter = new Filter();
        Organisatie organisatie = _context.Organisatie.Distinct().Where(x => x.Id == organisatieId).First();         
        FilterWaardeGemeente = filter.GetFilterGemeente(organisatie);
        FilterWaardeDienst = filter.GetFilterDienst(organisatie);
        FilterWaardeClient = filter.GetFilterClient(organisatie);
        return new JsonResult("Gelukt");
    }

ищет любое предложение обновить модель страницы бритвы с самой последней моделью страницы c #.

заранее спасибо.

1 Ответ

0 голосов
/ 14 сентября 2018

Изменение вашей модели ничего не даст, так как страница Razor не перерисовывается. Поскольку вы делаете запрос через AJAX, вам необходимо вернуть элементы списка выбора из этого действия, а затем использовать JavaScript для обновления параметров списка выбора вручную в DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...