Скажите, что я имею:
public ViewResult List()
{
IEnumerable<IModel> myList = repository.GetMyList();
if(1 == myList.Count())
{
RedirectToAction("Edit", new { id = myList.Single().id });
}
return View(myList);
}
В этой функции я проверяю, существует ли только один объект в списке, если существует, я хотел бы перенаправить прямо к контроллеру, который обрабатывает элемент списка, иначе я хочу отобразить Представление Списка.
Как я делаю это? Просто добавление a RedirectToAction
не работает - вызов поражен, но VS просто переступает через него и пытается возвратить Представление внизу.
Вам нужно возвращать RedirectToAction
вместо того, чтобы просто вызывать метод RedirectToAction. Кроме того, ваш метод должен возвращать ActionResult
- тип возврата, совместимый как с ViewResult
, так и с RedirectToRouteResult
.
public ActionResult List()
{
IEnumerable<IModel> myList = repository.GetMyList();
if(1 == myList.Count())
{
return RedirectToAction("Edit", new { id = myList.Single().id });
}
return View(myList);
}