首页 > Web开发 > 详细

mvc中的几个数据传递

时间:2014-06-19 06:48:05      阅读:501      评论:0      收藏:0      [点我收藏+]

1、ViewData对象

    ViewBagData是一种字典集合数据同时属于视图基类和控制器基类的属性。

    实例:

    //控制器

public class HomeController:Controller
{
        public ActionResult Index()
        {
             ViewData["data"]="Hello asp.net";
             return View();
        }
}       

    视图:

<h1><%=ViewData["data"]%></h1>

2、动态对象ViewBag

 ViewBag是dynamic类型的对象,同事属于视图基类和控制器基类的属性。用法如下:

   //控制器代码

public class HomeController:Controller
{
        public ActionResult Index()
        {
             ViewBag.data="Hello asp.net";
             return View();
        }
}            

  <!--视图-->

<h1><%=ViewBag.data%></h1>

本质上,ViewBag是对ViewData数据的包装,,也就是使用ViewData保存数据,可以使用ViewBag读取,使用ViewBag保存的数据,也可以使用ViewData读取,例如

ViewData["data"]的数据,使用ViewBag.data也可以访问。

注意:同一个项目中,一般ViewData和ViewBag只是用一种,不要代码中同同时出现ViewData和ViewBag.

3、跨请求数据传递——TempData   

    TempData也属于字典类型在编码上于ViewData类似,但是他是完全独立的对对象,它保存的数据域Viewdata互不干扰

  用法如下:

     //控制器

public class HomeController:Controller
{
        public ActionResult Index()
        {
             TempData["data"]="Hello asp.net";
             return View();
        }
}        

   //视图

<h1><%=TempData["data"]%></h1>

   在开发中TempData主要是跨请求传递数据

 

public class HomeController:Controller
{
        public ActionResult Index()
        {
             TempData["data"]="来自Index()的数据";
             Response.Redirect("~/Home/Detail");
             return View();
        }
        public ActionResult  Detail()
       {
             return View();
       }
}     

     //Detail.aspx视图

<h1><%=TempData["data"]%></h1>

    在asp.net mvc系统中,TempData的保存机制实际上是可扩展的,它默认的保存机制是session。虽然TempData的保存机制是session,对于前一次的请求使用Temp

    使用的Temp保存的数据,但是如何Temp中的数据被使用过(从视图中输出)接下来的请求将获取不到数据,再一次请求中,如何TempData数据被使用过,就会被清除

    如果没有被使用过,那么他保存的时间是Session的生存期。

 

 

 

 

 

 

 

 

 

mvc中的几个数据传递,布布扣,bubuko.com

mvc中的几个数据传递

原文:http://www.cnblogs.com/robinblogs/p/3789526.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!