易截截图软件、单文件、免安装、纯绿色、仅160KB

【ASP.NET专题】(5)——如何向View传值

上一篇文章详细介绍了如何利用ASP.NET MVC创建自己的页面,在文章介绍了如何利用ViewData由Controller向View文件传值,那新的问题再次出现,我们除了能显示aspx文件外还能显示其它的文件么?
本文将详细介绍如何向View传值。
一、ViewData与TempData属性来向View页传递对象
上文中已经提到,使用ViewData可以将数据由Controller传递到View,在前文中我们建立了RocketController类,在本文的示例中我们将这个Controller改一下。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
namespace MovieApp.Controllers
{
public class RocketController : Controller
{
//
// GET: /Rocket/
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/Rocket/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:1750/Rocket/Index/,可以看到运行得到以下:
1.在这里显示ViewData
2.在这里显示TempData
再访问http://localhost:1750/Rocket/Index2显示结果为:
1.
2.在这里显示TempData
这里1显示是的ViewData中的内容,2为TempData传递的内容。我们可以看到ViewData只能在当前Action中有效。但是TempData可以类似于Session一样到其它页面仍然存在,但只限一页的访问(类似于Monorail中


相关文档:

asp.net webpart 数据库连接错误

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
1.首先运行SQLServer
       2.然后运行C:\WINDOWS\Microsoft.NET\Framework\v2.0.5072 ......

ASP.NET AJAX框架编程之JSON序列化剖析

ASP.NET AJAX(最初代码名为“ATLAS”)框架,作为重点支持ASP.NET开发平台的开源Ajax框架在它一出世时就受到广大.NET开发人员的青睐。在本文中,我们将专注于分析ASP.NET AJAX编程中服务器与客户端通信过程中的数据存储形式的问题。具体地说,我们将探讨一个实现序列化与反序列化的服务器端对象—JavaScriptS ......

asp.net 下web.config中配置数据库连接

1、Web.config 可以采用写连接条件 或 附加 ×.mdf 文件
<connectionStrings>
  <add name="Sales"
       providerName="System.Data.SqlClient"
       connectionString= "server=myserver;database=Products;uid=<user name&g ......

asp.net页面事件执行过程

最近搞用户验证时,出了个问题,查阅资料解决后,整理了一下。第一篇blog
主要就是父类和子类间OnLoad,OnInit,Load 事件,Init事件的执行先后问题。
一个页面(子类)的Oninit方法最先启动执行,而后递归执行父类中Oninit方法,父类Oninit方法中添加Init事件,执行Page_Init方法,后再返回父类Oninit方法执行完毕,最后返 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号