RedirectToAction не загружается правильное представление
Это странно. Наверное, до боли очевидно.:D
У меня есть вид (давайте назовем это View0.aspx
) который отправляет форму в действие контроллера (давайте назовем это Action1
). Action1 запускается, а затем возвращается RedirectToAction("Action2")
который в свою очередь возвращает View("View2")
,
Запустив его в отладчике, все выглядит отлично (точка останова Action2 получает удар). Проблема в том, что он никогда не загружается View2.aspx
, View0.aspx
остается там. Я даже вижу HTTP-запрос для маршрута, который вызывает Action2, но View2 никогда не загружается. У меня даже нет обновления. Есть идеи?
Источник ниже:
[AcceptVerbs("POST")]
public ActionResult Action1()
{
// Run action code
return RedirectToAction("Action2");
}
public ActionResult Action2()
{
// run action code
return View("View2");
}
2 ответа
Я только что нашел проблему. Я делал пост Ajax, который объясняет, почему он не перенаправлял. Я переключил его на обычный пост, и он работал. Кроме того, я только что заметил несколько ошибок в моем ОП, которые я собираюсь исправить. Извините за запутанный пост.
"увидеть HTTP-запрос для View2" - вы имеете в виду для Action2? Вы не можете запросить просмотр в MVC. "View0.aspx остается там" - где "там"? Это просто POST или AJAXified? Если это просто POST и вы нажали Action2, то браузер уже покинул страницу Action0 и собирается отобразить новый результат - каким бы он ни был. Даже ошибка изменит страницу. Итак, что вы подразумеваете под "View0.aspx остается там" - без обновления страницы? Обновление страницы, но с тем же содержимым View0? Вы уверены, что View0 и View2 выглядят по-разному?