Сообщение от одного действия контроллера к другому (без перенаправления)
-
05-07-2019 - |
Вопрос
У меня есть действие, которое мне нужно отправить на другое действие, если оно соответствует определенным условиям, но я не могу сохранить данные формы при переходе к следующему действию.
Получающее действие принимает FormCollection, которое отправляющее действие
В настоящее время я делаю возврат RedirectToAction("действие", "контроллер", форма).И я могу определить, что переменная формы имеет ключи до перенаправления (form.HasKeys() = true).
Однако при выполнении действия FormCollection пуста (form.HasKeys() = false).
Есть идеи?Есть ли метод PostToAction, которого мне не хватает?
К вашему сведению:Я использую бета-версию ASP.NET MVC.Большое спасибо!
Редактировать: Тем, у кого возникла такая проблема, пожалуйста, загляните в Шаблон PRG.Это фактический термин того, что я хотел сделать, что также позволяет создавать красивые URL-адреса.
Решение
Когда вызывается RedirectToAction, он выполняет перенаправление HTTP и выполняет GET к другому URL-адресу действия.Если вам нужно повторно использовать код другого контроллера, я бы сделал то, что предложила она, переместив общий код в BaseController или бизнес-сервис и делегировав ему оба действия.
Эти ссылки могут помочь:
Другие советы
Я бы реорганизовал два контроллера и поместил общий код во вспомогательный или в общий базовый класс. Таким образом, действия в двух контроллерах могут делегироваться общему коду.