首页 / 网页编程 / ASP.NET / ASP.NET MVC重点教程一周年版 第四回 向View传值
ASP.NET MVC重点教程一周年版 第四回 向View传值2011-07-09 博客园 重典一、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一般用于临时的缓存内容或抛出错误页面时传递错误信息。