Сообщение от одного действия контроллера к другому (без перенаправления)

StackOverflow https://stackoverflow.com/questions/419840

  •  05-07-2019
  •  | 
  •  

Вопрос

У меня есть действие, которое мне нужно отправить на другое действие, если оно соответствует определенным условиям, но я не могу сохранить данные формы при переходе к следующему действию.

Получающее действие принимает FormCollection, которое отправляющее действие

В настоящее время я делаю возврат RedirectToAction("действие", "контроллер", форма).И я могу определить, что переменная формы имеет ключи до перенаправления (form.HasKeys() = true).

Однако при выполнении действия FormCollection пуста (form.HasKeys() = false).

Есть идеи?Есть ли метод PostToAction, которого мне не хватает?

К вашему сведению:Я использую бета-версию ASP.NET MVC.Большое спасибо!

Редактировать: Тем, у кого возникла такая проблема, пожалуйста, загляните в Шаблон PRG.Это фактический термин того, что я хотел сделать, что также позволяет создавать красивые URL-адреса.

Это было полезно?

Решение

Когда вызывается RedirectToAction, он выполняет перенаправление HTTP и выполняет GET к другому URL-адресу действия.Если вам нужно повторно использовать код другого контроллера, я бы сделал то, что предложила она, переместив общий код в BaseController или бизнес-сервис и делегировав ему оба действия.

Эти ссылки могут помочь:

Другие советы

Я бы реорганизовал два контроллера и поместил общий код во вспомогательный или в общий базовый класс. Таким образом, действия в двух контроллерах могут делегироваться общему коду.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top