Публиковать от одного действия контроллера к другому (не перенаправлять) - PullRequest
2 голосов
/ 07 января 2009

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

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

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

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

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

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

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

Ответы [ 2 ]

2 голосов
/ 07 января 2009

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

Эта ссылка может помочь:

2 голосов
/ 07 января 2009

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

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