繁体   English   中英

ASP.Net MVC 重定向到不同的视图

[英]ASP.Net MVC Redirect To A Different View

是否可以从 controller 重定向到不同的视图?

例如,我所有的控制器都继承自自定义 controller,它有一个构造函数,如果不满足某些条件,我想将其重定向到不同的视图。 希望这是有道理的。

您可以使用RedirectToAction()方法,然后您重定向到的操作可以返回视图。 最简单的方法是:

return RedirectToAction("Index", model);

然后在Index方法中,返回所需的视图。

 if (true)
 {
   return View();
 }
 else
 {
   return View("another view name");
 }

最简单的方法是使用return View。

return View("ViewName");

请记住,如果您使用的是MVC C#/ .NET,那么“ViewName”的物理名称应该类似于项目中的ViewName.cshtml。

我不是100%确定这是什么条件,但对我来说,上面没有直接工作,认为它接近。 我认为这是因为我在视图中需要“id”,因为它被称为“ObjectID”。

我有一个包含各种信息的模型。 我只需要身份证。

在上面之前,我创建了一个新的System.Web.Routing.RouteValueDictionary对象并添加了所需的id。

(System.Web.Routing.)RouteValueDictionary RouteInfo = new RouteValueDictionary();
RouteInfo.Add("id", ObjectID);
return RedirectToAction("details", RouteInfo);

(注意:有问题的MVC项目我没有创建,所以我不知道所有正确的“fiddly”位在哪里。)

这是你可以做的:

return View("another view name", anotherviewmodel);
return RedirectToAction("index");

这就是我在 controller 和需要重定向的 actionresult 中的使用方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM