Контекст
В нашем веб-приложении есть функция, например, «Создать сотрудника». Он показывает три страницы (1 из n), чтобы пользователь мог вводить соответствующую информацию на каждой странице. На странице 3 кнопка «Сохранить» позволяет пользователю сохранить сотрудника. Если пользователь вводит неверное значение в поле на странице 1 (что-то, что сервер может только проверить) и сервер сообщает об ошибке, по умолчанию отображается страница 1 с сообщением об ошибке вверху, а соответствующее поле помечается красным.
Постановка задачи
Все вышеперечисленное работало до тех пор, пока последние несколько сборок не показали поломку. В вышеупомянутом сценарии при ошибке отображается страница 2 вместо страницы 1. Все остальное работает нормально, например, сообщение об ошибке правильное, поле на странице 1 помечено красным.
Анализ
Я попытался изучить логику разбивки на страницы в java-скрипте, вернулся к изменениям версии, которые работали. Я также попробовал решение, предложенное здесь , здесь. Я также очистил кеш браузера и снова открыл его.
Ничего не сработало.
Затем я обнаружил, что основными изменениями в кодовой базе пользовательского интерфейса стало введение AntiForgeryToken(). Я удалил его со страницы и контроллера, и все снова заработало. Я проверил, что AntiForgeryToken() не генерирует исключение.
Вопрос
- Я не уверен, как AntiForgeryToken() влияет на код разбиения на страницы в java-скрипте?
- Что я могу попытаться узнать больше о первопричине?
- Любое предлагаемое решение, помните, не может жить без AntiForgeryToken()?
Заранее спасибо.