Перенаправление из сообщения формы Ajax - PullRequest
7 голосов
/ 08 мая 2009

У меня есть метод действия, который в зависимости от некоторых условий должен возвращать частичное представление через ajax или перенаправлять на другой контроллер / действие. Возвращается правильное представление, но оно помещает его в формы Ajax UpdateTargetId, а не перенаправляет на совершенно новую страницу. У кого-нибудь есть идеи, как мне это сделать?

Ответы [ 2 ]

16 голосов
/ 08 мая 2009

Я думаю, что я бы реорганизовал это, чтобы использовать jQuery, а не MVC Ajax. JQuery даст вам гораздо больше контроля над тем, что вы можете сделать с результатом, который вы получите. Если это не вариант, вы можете посмотреть обратный вызов OnComplete и посмотреть, какие данные вы ему передаете, и посмотреть, есть ли способ получить URL-адрес, на который вы хотите перенаправить его.

Кроме того, я помню, что если вы вернете JavaScriptResult, он будет выполняться независимо от того, как был вызван AJAX. Вы можете попробовать что-то вроде:

return JavaScript( "window.top.location.href ='" + Url.Action( "Action" ) + "';" );
1 голос
/ 08 мая 2009

Может быть, эта ссылка может помочь решить вашу проблему, и вставьте свой JavaScript, чтобы изменить текущую страницу на другой контроллер, например

window.location = 'controller/action';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...