Как передать данные из окна модальной формы для просмотра в net core 2.0
Я должен проверить пароль пользователя перед некоторыми действиями, например, утверждением списка задач. Если пользователь вводит неверный пароль в форму (модальное окно) Мне нужно передать ошибку проверки в представление сведений, где доступна кнопка утвердить.
Я пытаюсь использовать ViewBag.IncorrectPassword = "пароль неверен. Пожалуйста, попробуйте еще раз"; но никакие данные не передаются из модальной формы в представление.
Вопрос в том, как передать сообщение проверки из действия aprove в детальное представление? View bag и ViewData на этот раз не работают. Я не хочу использовать javascript или ajax. Заранее спасибо за вашу помощь.
Что я уже пробовал:
<h4>@ViewBag.IncorrectPassword</h4> <!-- Button trigger modal --> <button type="button" class="btn btn-success" data-toggle="modal" data-target="#ApproveTask"> Approve </button> <!-- Modal --> <div class="modal fade" id="ApproveTaskList" tabindex="-1" role="dialog" aria-labelledby="ApproveTaskLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> </div> <form asp-action="ApproveTask" asp-controller="TaskList" style="display:inline;"> <div class="modal-body"> <h5 class="modal-title" id="ApproveTaskLabel">Please enter your password</h5> <br /> <input type="Password" class="form-control" name="Password" /> <br /> <span id="password_status" class="text-danger"></span> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <input type="hidden" asp-for="TaskListID" /> <input type="hidden" name="id" value="@Model.TaskListID" /> <span asp-validation-for="TaskListID"></span> <button type="submit" class="btn btn-success" id="approvebutton">Approve</button> </div> </form> </div> </div> </div>
public async Task<IActionResult> ApproveTaskList(int id, string Password) { var mtl = await _context.MyTaskList.SingleOrDefaultAsync(m => m.MyTaskListID == id); if (await _userManager.CheckPasswordAsync(await _userManager.GetUserAsync(User), Password)) { mtl.Status = MyTaskListStatus.Approved; mtl.LastModifiedDate = DateTime.Now; _context.MyTaskList.Update(mtl); await _context.SaveChangesAsync(); } else { ViewBag.IncorrectPassword = "Password is not correct. Please try again"; } return RedirectToAction("Details", new { id = mytasklistID }); }