在使用ASP.NET MVC进行项目开发时,经常会碰到从Action向视图传值的问题,今天我就把我所知道的方式总结了一下,分成了以下六种:
1.使用ViewData进行传值
在Action中,有如下代码:ViewData["name"] = "Vibin1";
则在视图中可以这样接收:姓名:@ViewData["name"]
注意:ViewData是一个简单的字典,它的生命周期和所请求的View是一样的,仅对当前View有效。
2.使用ViewBag进行传值
在Action中,有如下代码:ViewBag.name = "Vibin2";
则在视图中可以这样接收:姓名:@ViewBag.name
注意:上面的ViewBag本质上是通过ViewData进行传值的,所以当同时使用ViewData和ViewBag的时候,如果定义的变量一样,那么前面的会被后面的所覆盖,像本文中1、2两种方式一起使用都会显示:姓名:Vibin2。如果非要使用这两种传值方式且不会产生覆盖现象,那么必须保证变量名不同。
3.使用TempData进行传值
在Action中,有如下代码:TempData["name"] = "Vibin3";
则在视图中可以这样接收:姓名: @TempData["name"]
注意:TempData保存在Session中,这种方法可