Метод Redirect
предназначен для перенаправления на внешние URL-адреса вашего сайта и передачи ему абсолютного URL-адреса.Если вам нужно перенаправить на другое действие контроллера, принадлежащее вашему сайту, было бы лучше использовать это:
return RedirectToAction("Index", "Home");
Таким образом, вы больше не будете жестко программировать URL-адреса, и ваш код будет менее хрупким для изменений маршрута.
При этом, если вы вызываете действие контроллера, которое выполняет это перенаправление с AJAX, вы не можете ожидать, что оно перенаправит браузер куда-либо => оно, очевидно, останется на той же странице.AJAX-запрос будет выполнен успешно после всех перенаправлений, и в случае успешного обратного вызова вы получите окончательный HTML-код URL /Home/Index
, как если бы он был запрошен без AJAX.
Если вы хотите перенаправить в случае успешного обратного вызоваВызов AJAX может привести к тому, что действие вашего контроллера вернет, например, объект JSON, указывающий целевой URL, на который вы хотите перенаправить:
return Json(new { redirectToUrl = Url.Action("Index", "Home") });
, а в вашем обратном вызове используйте функцию window.location.href
:
success: function(result) {
window.location.href = result.redirectToUrl;
}