Действие, генерирующее частичное представление, понимает, что вся страница должна быть заменена.Как перенаправить? - PullRequest
1 голос
/ 07 марта 2012

Это частично гипотетический вопрос, поскольку мне на самом деле не нужно делать это в данный момент.Я просто ожидаю, что смогу.

В моем приложении MVC3 есть страница с частичным представлением, которая обновляется с использованием MVC3 Ajax и AjaxHelper.BeginForm().Все это прекрасно работает.

Но для действия, которое генерирует частичное представление, возможно осознать, что вместо того, чтобы видеть обновление частичного представления, пользователя нужно отправить на совершенно другую страницу.Другими словами, вместо того, чтобы возвращать PartialViewResult, метод действия должен возвращать RedirectResult или обычный View.

Это, как вы, без сомнения, знаете, не сработает: попыткивернуть RedirectResult, когда подпись требует PartialViewResult, не будет скомпилирована.

Так как этого можно достичь?Скажем ради аргумента, что необходимое решение может быть принято только на стороне сервера и только после того, как информация в частичном представлении будет отправлена ​​обратно на сервер.

1 Ответ

1 голос
/ 07 марта 2012

Сначала определите свой метод для возврата ActionResult, что позволит вам вернуть либо PartialViewResult, либо RedirectResult, если необходимо.

Во-вторых, укажите OnFailure функцию обратного вызова в вызове метода BeginForm(). Если результатом вызова AJAX не является HTTP 200, будет запущен обратный вызов OnFailure, который затем можно использовать для анализа ответа на перенаправление и выполнения перенаправления.

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