У меня есть метод, как этот:Возвращение действительного зрения от контроллера
[HttpPost]
public ActionResult Edit(ViewModel.MyViewModel viewModel)
{
// Code here to handle the save to the database and in the case
// where some validation are not accepted, return View(viewModel)
return View("Index", viewModel);
}
Когда я запускаю этот код и мой ViewModel действительно, я хотел бы вернуть пользователя к просмотру со списком Предметы.
Я знаю, что я должен использовать RedirectToAction («Index») в этом случае вместо последней строки, но мне интересно узнать, почему, когда я запускаю этот код, и последняя строка выполняется, MVC возвращает страницу редактирования вместо на странице списка.
И по каким причинам я бы указал имя вида в списке параметров функции View, если я не могу указать иное, чем представление, обработанное контроллером?
спасибо.
После некоторого времени поиска я обнаружил, что проблема в том, что я отправляю неверную модель просмотра на страницу индекса, потому что эта страница получает строго типизированный список viewmodel. В этом случае я искал с помощью дополнения HttpFox для Firefox для разницы между простым обратным представлением («Индекс») и RedirectToAction («Индекс»), а последний - окончательно лучшим выбором во всех точках. Во-первых, он отправляет http-код статуса 302, который лучше всего подходит к шаблону PRG, а во-вторых, мне не нужно дублировать логику моего действия по индексу, чтобы заполнить список viewmodel. – Samuel