mvc3中controler和view之间的数据传递

1、ViewBag

ViewBag 是 MVC3 新增语法,生命周期和view相同,ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。

public ActionResult Index()
 {
        ViewBag.Message = "Welcome to ASP.NET MVC!";
        return View();
 }

  在视图中

<h2>@ViewBag.Message</h2>
public ActionResult Index()
{
       ViewData["Message"]= "Welcome to ASP.NET MVC!";

       return View();
}

2、ViewData

只能在一个Action中设置,在相关的视图中获取,只对当前视图有效,生命周期和view相同

public ActionResult Index()
{
       ViewData["Message"]= "Welcome to ASP.NET MVC!";

       return View();
}

在视图中

<h2>@ViewData["Message"]</h2>

Tag:ViewBag和ViewData使用的是同一个字典集合,所以ViewBag.Message=ViewData["Message"]
3、TempData

临时数据传递。TempData 的数据至多只能经过一次Controller传递,并且每个元素至多只能被访问一次,访问以后,自动被删除,TempData实质上是保存在session中,每次读取都是从session中获取并删除

用法和ViewData相似,这里就不贴了

4、model

 model传递数据可以解决强类型数据传递,通过view()方法传递实例化对象到视图中


  

    

posted on 2013-05-20 23:32  DonnyPeng  阅读(482)  评论(0编辑  收藏  举报