У меня к вам простой вопрос. Я использую .NET core 7 с Razor Pages. У меня есть страница добавления, и здесь я выбираю категорию. Я получаю информацию о категории из базы данных с помощью метода OnGet() и отправляю ее на страницу. Никаких проблем пока нет. Когда я сохраняю форму, мой метод OnPostAddAsync() работает, и я сохраняю ее в базе данных, но если во время регистрации возникает какая-либо ошибка, я возвращаю сообщение об ошибке на экран и использую " return Page()", чтобы предотвратить потерю пользователем введенной информации. Когда я использую этот метод, информация о моей категории не отображается в раскрывающемся списке. Для меня очень важно, чтобы введенная пользователем информация не потерялась. Вот почему я не использую RedirectToPage(). Как мне это сделать, не обновляя страницу, не теряя информацию о пользователе и, самое главное, не заполняя список категорий?
Мой метод OnGetAsync():
public async Task OnGetAsync() { вар ответ = ждут _category.List(SessionValues()[0]); if (response.Message == "Ошибка аутентификации") { HttpContext.Session.Remove("userToken"); HttpContext.Session.Remove("userInfo"); вернуть новый RedirectToPageResult("Войти"); } если (ответ.Статус) { Список Список = новый список(); foreach (элемент var в ответе.Данные) { List.Add(новый SelectListItem { Значение = элемент.Id.ToString(), Текст = элемент.Имя }); Параметры = Список; } } еще { ToastrError = ответ.Сообщение; } вернуть страницу(); }

Мой метод OnPostAddAsync():
public async Task OnPostAddAsync(AddRequestModel addModel) { вар ответ = ждут _product.Add(SessionValues()[0]); if (response.Message == "Ошибка аутентификации") { HttpContext.Session.Remove("userToken"); HttpContext.Session.Remove("userInfo"); вернуть новый RedirectToPageResult("Войти"); } если (ответ.Статус) { ToastrSuccess = ответ.Сообщение; вернуть новый RedirectToPageResult («Добавить»); } ToastrError = ответ.Сообщение; вернуть страницу(); } Если именно здесь произойдет ошибка, код выполнит return Page() с сообщением.

Вот свойства, которые я использую:
[ViewData] общественная строка ToastrError {получить; набор; } [ТемпДанные] общественная строка ToastrSuccess {get; набор; } общественная AddRequestModel addModel {get; набор; } public List Options {get; набор; } Я много искал в Интернете и пробовал много вещей, но ничего не помогло.