C # MVC после отправки, данные изменены - PullRequest
0 голосов
/ 04 октября 2019

Это очень странная проблема. У меня есть веб-страница, которая отображает каждую модель представления, возвращенную из поиска в форме для редактирования.

@foreach (var item in Model.qaJobsVM) {
    @using (Html.BeginForm("EditJobAdmin", "QualityAssurance",
            FormMethod.Post, new { @class = "form-style-11", @style = "display: inline-block;" })) {

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

    public ActionResult EditJobAdmin(int JobNumber) {
        QAService qaService = new QAService(_qaContext);
        UpdateViewModelQA updateViewModelQA = new UpdateViewModelQA();
        updateViewModelQA.qaJobsVM = qaService.GetJobsByNumber(JobNumber);
        if (updateViewModelQA.qaJobsVM == null) {              
            ModelState.AddModelError("ExceptionError", "Could not find job.");
            return View("SearchJobAdmin", null);
        } else {
            return View(updateViewModelQA);
        }
    }

Если они обновляют любую из форм, данные обновляются правильно, и поиск запускается снова (для обновления страницы). Как ни странно, тот же поиск вызывается, возвращаются те же результаты (за исключением изменений, которые они отправили), но все формы отображают модель, обновленную пользователем.

   [HttpPost] public ActionResult EditJobAdmin(JobViewModel item) {
        var qaService = new QAService(_qaContext);
        UpdateViewModelQA updateViewModelQA = new UpdateViewModelQA();

        if (!qaService.ValidErrorNumber(item.ErrorNumber)) {
            updateViewModelQA.qaJobsVM = qaService.GetJobsByNumber(item.JobNumber);
            ModelState.AddModelError("ExceptionError", "Invalid Error Number");
            return View(updateViewModelQA);
        }
        var JobUpdated = qaService.AdminUpdateJob(item, _errorLogService, HttpContext.User.ToString());
        updateViewModelQA.qaJobsVM = qaService.GetJobsByNumber(item.JobNumber);
        ModelState.AddModelError("ExceptionError", "Success!");
        return View(updateViewModelQA);
    }

Поиск работы

Отладочная информация из поиска работы

Отладка информации при отправке работы

После загрузки страницы с отладочной информацией из изображения

Вызывается та же функция для получения моделей представления, и данные возвращаются правильно. Если я отлаживаю страницу бритвы, она показывает правильную информацию, но затем, когда страница завершает загрузку, она показывает запись, которая обновлялась при каждом просмотре (для всех найденных записей)

Любая помощь будет принята с благодарностью.

Пример в тексте: я ищу задание 12345. В задании 12345 возвращено 3 записи.

job: 12345
comment: comment number 1
job: 12345
comment: comment number 2
job: 12345
comment: comment number 3

Я обновляю первый возвращенный элемент с комментарием: "комментарий номер 99" Когда заканчивается загрузка страницы, я получаю:

job: 12345
comment: comment number 99
job: 12345
comment: comment number 99
job: 12345
comment: comment number 99

Если япоиск работы 12345 я получаю:

job: 12345
comment: comment number 99
job: 12345
comment: comment number 2
job: 12345
comment: comment number 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...