RedirectToAction не загружается правильное представление - PullRequest
1 голос
/ 12 января 2010

Это странно. Наверное, до боли очевидно. : 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 ]

1 голос
/ 12 января 2010

Я только что нашел проблему. Я делал пост Ajax, который объясняет, почему он не перенаправлял. Я переключил его на обычный пост, и он работал. Кроме того, я только что заметил несколько ошибок в моем ОП, которые я собираюсь исправить. Извините за запутанный пост.

0 голосов
/ 12 января 2010

«смотрите HTTP-запрос для View2» - вы имеете в виду для Action2? Вы не можете запросить просмотр в MVC. «View0.aspx остается там» - где «там»? Это просто POST или AJAXified? Если это просто POST и вы нажали Action2, то браузер уже покинул страницу Action0 и собирается отобразить новый результат - каким бы он ни был. Даже ошибка изменит страницу. Итак, что вы подразумеваете под «View0.aspx остается там» - без обновления страницы? Обновление страницы, но с тем же содержимым View0? Вы уверены, что View0 и View2 выглядят по-разному?

...