Можно ли с контроллера перенаправить на другой вид?
Например, все мои контроллеры наследуются от настраиваемого контроллера, у которого есть конструктор, который я хочу перенаправить в другое представление, если определенные критерии не выполняются. Надеюсь, это имеет смысл.
.net
asp.net
asp.net-mvc
Гэвин
источник
источник
if (true) { return View(); } else { return View("another view name"); }
источник
Самый простой способ - использовать return View.
return View("ViewName");
Помните, что физическое имя ViewName должно быть в вашем проекте чем-то вроде ViewName.cshtml, если вы используете MVC C # / .NET.
источник
Я не уверен на 100%, каковы условия для этого, но для меня вышеперечисленное не сработало напрямую, я думал, что это близко. Я думаю, это произошло потому, что мне нужен «id» для моего представления, потому что в модели он назывался «ObjectID».
У меня была модель с разнообразной информацией. Мне просто нужен был идентификатор.
Перед вышесказанным я создал новый объект System.Web.Routing.RouteValueDictionary и добавил необходимый идентификатор.
(System.Web.Routing.)RouteValueDictionary RouteInfo = new RouteValueDictionary(); RouteInfo.Add("id", ObjectID); return RedirectToAction("details", RouteInfo);
(Примечание: рассматриваемый проект MVC я не создавал, поэтому я не знаю, где находятся все нужные "неудобные" биты.)
источник
Вот что вы можете сделать:
return View("another view name", anotherviewmodel);
источник