程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET中TempData,ViewData和ViewBag的比較

ASP.NET中TempData,ViewData和ViewBag的比較

編輯:關於ASP.NET

學習ASP.NET有大約一個月了,一直都是半生不熟的,因為之前的很長時間都是在做java開發,沒有時間 靜下來心來學習,加上ASP.NET的框架也很復雜,一時間也是看的昏頭轉向的,所以只能看到一點記錄一點, 慢慢積累,慢慢總結吧。

Action向View傳遞數據很簡單,方式也很多,最直接的就是我們向View傳遞 Model,這本身就是MVC的意義所在。如果是顯示一些消息,像是錯誤信息,可以使用 ViewData:

public ActionResult Index()
{
     ViewData["message"] = "Hello Word!";
     return View();
}

然後是視圖:

<asp:Content ID="indexContent" 

ContentPlaceHolderID="MainContent" runat="server">
    <%: ViewData["message"]%>
</asp:Content>

實際效果如:

我們可以看到,ViewData就是 一個字典,它存放的是鍵值對。

既然Action可以向View傳遞數據,那麼View是否可以修改數據然後再 回傳給Action呢?

我們對代碼這樣修改:

public ActionResult Index()
{
      ViewData["message"] = "Hello Word!";
      return View();
}
    
public ActionResult About()
{
      string message = ViewData["message"] as string;
      if (message == "Hello")
      {
           ViewData["message2"] = "已經修改";
       }
      else
      {
           ViewData["message2"] = "沒有修改";
      }
     return View();
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved