码迷,mamicode.com
首页 > 其他好文 > 详细

Controller向View传递数据

时间:2014-09-06 18:31:13      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   使用   ar   strong   数据   

1.       使用ViewData传递数据

我们在Controller中定义如下:

ViewData[“Message”] = “Hello word!”;

然后在View中读取Controller中定义的ViewData数据,代码如下:

<% = Html.Encode(ViewData[“Message”]) %>

2.       使用TempData传递数据

我们在Controller中定义如下:

TempData[“Message”] = “Hello word!”;

然后在View中读取Controller中定义的TempData数据,代码如下:

<% = Html.Encode(TempData [“Message”]) %>

3.       使用Model传递数据

使用Model传递数据的时候,通常在创建View的时候我们会选择创建强类型View如下图所示:

bubuko.com,布布扣

创建强类型的View以后,View的第一行代码如下所示:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcInduction.Models.People>" %>

<MvcInduction.Models.People>就代表了这个View使用的Model为“MvcInduction.Models.People

 

总结:

1.         ViewData与TempData方式是弱类型的方式传递数据,而使用Model传递数据是强类型的方式。

2.         ViewData与TempData是完全不同的数据类型,ViewData数据类型是ViewDataDictionary类的实例化对象,而TempData的数据类型是TempDataDictionary类的实例化对象。

3.         TempData实际上保存在Session中,控制器每次执行请求时都会从Session中获取TempData数据并删除该Session。TempData数据只能在控制器中传递一次,其中的每个元素也只能被访问一次,访问之后会被自动删除。

4.         ViewData只能在一个Action方法中进行设置,在相关的视图页面读取,只对当前视图有效。理论上,TempData应该可以在一个Action中设置,多个页面读取。但是,实际上TempData中的元素被访问一次以后就会被删除。

Controller向View传递数据

标签:style   blog   http   color   io   使用   ar   strong   数据   

原文地址:http://www.cnblogs.com/tianguook/p/3959618.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!