程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET MVC重點教程一周年版 第四回 向View傳值

ASP.NET MVC重點教程一周年版 第四回 向View傳值

編輯:關於ASP.NET

一、ViewData與TempData屬性來向View頁傳遞對象

上文中已經提到,使用ViewData可以 將數據由Controller傳遞到View

在前文中我們建立了EiceController類

在本文的示 例中我們將這個Controller改一下

public class EiceController :  Controller
{
public ActionResult Index()
{
ViewData ["ViewData"] = "在這裡顯示ViewData";
TempData ["TempData"] = "在這裡顯示TempData";
return View();
}
public ActionResult Index2()
{
return View ("Index");
//這裡指定了規定顯示的View文件即Eice目錄下的Index.aspx
}
}

我們將Index的參數移除,並提供了ViewData和TempData的賦值

在Views/Eice/Index.aspx這個View中我們寫以下代碼

<%@ Page  Title="" Language="C#"  MasterPageFile="~/Views/Shared/Site.Master"  Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content  ID="Content1" ContentPlaceHolderID="TitleContent"  runat="server">

Index
</asp:Content>
<asp:Content ID="Content2"  ContentPlaceHolderID="MainContent" runat="server">
1:<%=ViewData["ViewData"]%><br />
2:<%=TempData ["TempData"]%>
</asp:Content>

注意上面的1.2不是行 號,是我寫的。

接下來我們運行工程

訪問http://localhost/Eice/Index

可 以看到運行得到以下

1.在這裡顯示ViewData
2.在這裡顯示 TempData

再訪問http://localhost/Eice/Index2

顯示結果為

1.
2.在這裡顯示TempData

這裡1顯示是的ViewData中的內容,2 為TempData傳遞的內容

我們可以看到ViewData只能在當前Action中有效

但是 TempData可以類似於Session一樣到其它頁面仍然存在,但只限一頁的訪問(類似於Monorail中的 Flash)

TempData一般用於臨時的緩存內容或拋出錯誤頁面時傳遞錯誤信息。

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