2014-11-27 3 views
0

Мне нужно перенаправить на действие «Главная» из действия «Вход». Действие «Вход» вызывается в ajax. Итак, что происходит, действие «Вход» перенаправляется на действие «Главная». Но, поскольку действие «Login» вызывается в ajax, так выполняется обратный вызов ajax success. Вместо этого я хочу, чтобы прямое перенаправление от входа в действие «До дома». Есть ли способ достичь этого в самом действии «Вход»?Как перенаправить действие, вызванное ajax

Является ли «перенаправление от успешного обратного вызова» единственным способом перенаправления? У меня есть несколько условий, на основе которых мне нужно перенаправить на разные виды. так было бы здорово, если я могу перенаправить от самого действия

+0

Можете ли вы не перенаправить на «Дом» в обратном вызове ajax? – markpsmith

+0

Вы можете использовать 'window.location.href = '/ Home/Index';', но почему бы просто не использовать обычный submit и 'RedirectToAction();' в контроллере? –

+0

вы можете передавать различные условия от действия до ajax как json и проверять эти условия в обратном вызове ajax, а затем перенаправлять все, что хотите, как показано в моем ответе. –

ответ

1

Вы можете перенаправить Home действия от АЯКСА обратного вызова, как показано ниже:

window.location.href = '@Url.Action("Home","ControllerName")' 

записи выше коды в Ajax успеха обратного вызова.

EDIT: -

Вы можете использовать RedirectToAction() при выполнении нормальной формы представить, но здесь вы делаете AJAX вызова, так что вы должны попробовать код, как показано в этом ответе, если вы хотите, чтобы проверить условия перед перенаправлением затем отправьте эти условия из действия в ajax-запрос как Json и проверьте эти условия в обратном вызове ajax, а затем перенаправите его на соответствующее действие контроллера.

Смежные вопросы