快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

一、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一般用于临时的缓存内容或抛出错误页面时传递错误信息。

二、通 过ViewData.Model来传递对象

我们先建立一个Model:EiceIndexModel.cs。

public class EiceIndexModel
{
/// <summary>
///  姓名
/// </summary>
public string Name { get; set; }
///  <summary>
/// 性别
/// </summary>
public bool Sex {  get; set; }
}

之后我们建立一个新的Action:Index3

public  ActionResult Index3(){
var m = new EiceIndexModel
{
Name =  "邹健",
Sex = true
};
return View(m);
}

我们下面为Index3建立View文件,仍然是在Index3上点击右键AddView

于是自动生成了一个View文件,我们运行看结果:

如果我们想要 显示其它的文件我们应该怎么办呢?

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号