簡體   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