Asp.net-Mvc

MVC 從另一個控制器傳遞 ViewBag 值

  • May 27, 2021

我已經Viewbag.message在我的預設 HomeController 中設置了一個值,並成功地將它顯示在我的Shared/_Layout.cshtml.

之後我添加了另一個 TestController 並在 TestController 視圖中,Viewbag.message似乎為空。我可以知道它有什麼問題嗎?

如果我錯了,請糾正我,根據我的理解Viewbag.Message應該可以從各地獲得?

ViewBag 是一個動態屬性,它利用了 C# 4.0 中的新動態特性。基本上它是 ViewData 的包裝器,也用於將數據從控制器傳遞到相應的視圖。

  • 它的生命也只存在於目前的請求中。如果發生重定向,則它的值變為空。
  • 它不需要對複雜數據類型進行類型轉換。

下面是一個匯總表,顯示了不同的持久性機制。 ViewBag 及其他機制總結 信用:程式碼項目文章

[HttpPost]
public ActionResult Index()
{
   TempData["Message"] = "Success";
   return RedirectToAction("Index");
}


public ActionResult Index()
{
   ViewBag.Message=TempData["Message"];
   return View();
}

引用自:https://stackoverflow.com/questions/18479297