MVC:ViewBag ViewData TempData的区别
1.ViewBag其实本质就是ViewData,只是多了层Dynamic控制。所以,使用何种方式完全取决于你个人的爱好。
2. TempData的使用:
同ViewData和ViewBag一样,TempData也可以用来向视图传递数据。只是ViewData和ViewBag的生命周期和View相同,只对当前View有用。而TempData则可以在不同的Action中进行传值,类似webform里的Seesion。
举例如下:
1.后台写法如下:
public ActionResult Index() { string[] fruits = new string[] { "Apple", "Banana", "Kiwi" }; ViewBag.Fruits = fruits; ViewData["Fruits"] = fruits; return View(); }
2.前端写法如下 :(注意会出现问题)
2.修改前端写法如下:
@{ ViewBag.Title = "Index"; }ViewBag vs ViewData
1. ViewBag写法如下:
-
@foreach (string item in ViewBag.Fruits)
{
- @item }
-
@foreach (string item in (string[])ViewData["Fruits"])
{
- @item }
3.测试结果如下: