ASP.Net MVCredirect到一个不同的视图
是否有可能redirect到控制器的不同视图?
例如,我的所有控制器都从具有构造函数的自定义控制器inheritance,如果某些条件不符合,我想redirect到不同的视图。 希望是有道理的。
您可以使用RedirectToAction()
方法,然后redirect到的操作可以返回一个View。 最简单的方法是:
return RedirectToAction("Index", model);
然后在你的索引方法中,返回你想要的视图。
if (true) { return View(); } else { return View("another view name"); }
我不是100%确定这个条件是什么,但是对于我来说,上面没有直接的工作,认为它接近了。 我认为这是因为我在模型中需要“id”作为我的视图,因此称为“ObjectID”。
我有一个包含各种信息的模型。 我只需要这个ID。
在上面我创build了一个新的System.Web.Routing.RouteValueDictionary对象,并添加了所需的ID。
(System.Web.Routing.)RouteValueDictionary RouteInfo = new RouteValueDictionary(); RouteInfo.Add("id", ObjectID); return RedirectToAction("details", RouteInfo);
(注意:我没有创buildMVC项目,所以我不知道所有正确的“位”)。
以下是你可以做的事情:
return View("another view name", anotherviewmodel);
最简单的方法是使用返回视图。
return View("ViewName");
请记住,如果您使用的是MVC C#/ .NET,则“ViewName”的物理名称应该像ViewName.cshtml在您的项目中。