1.ViewBag and ViewData(非跨视图访问)

1)ViewBag是一种dynamic动态类型,用户可以自定义属性并为其赋值,它会在运行时动态解析(例:可以作为变量、数组等各种对象传递并按照对象的特性在页面直接使用)

  1. <ul>
  2. @foreach (dynamic/string/var p in ViewBag.Items)
  3. {
  4. <li>The item is: @p</li>
  5. }
  6. </ul>

2)ViewData是一种object的字典类型,通过键值对的方式存储,如ViewData["code"] = code;不是动态对象(例:不能直接作为数组来解析,需要一个强制转换)

  1. @foreach (string a in (string[])ViewData["Items"])
  2. {
  3. <li>The item is: @a</li>
  4. }

2.TempData(可跨视图传递,只能使用一次后就会消失)

TempData也是一个键值对的类型,与其他两者的区别在于可以跨视图调用,但是由于其将值托付给Session,会在调用一次后将相应键值对的Session清空,从而不能进行第二次调用。

生命周期会跟Session一样,所以一直没有读取的TempData是会存在到Session消失的。

2.ViewBag、ViewData、TempData之间的区别的更多相关文章

  1. ASP.NET MVC ViewBag/ViewData/TempData区别

    ViewBag/ViewData public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } Vi ...

  2. ViewBag、ViewData、TempData之间的区别

    1.ViewBag and ViewData(非跨视图访问) 1)ViewBag是一种dynamic动态类型,用户可以自定义属性并为其赋值,它会在运行时动态解析(例:可以作为变量.数组等各种对象传递并 ...

  3. 译:什么是ViewData的, ViewBag和TempData? - MVC为当前和后续请求之间传递数据的三种方法

    译文出处:http://www.codeproject.com/Articles/476967/WhatplusisplusViewData-cplusViewBagplusandplusTem AS ...

  4. ViewData、ViewBag、TempData、Session的区别与联系

    简介 这篇文章是我在学习ASP.NET MVC程序传值方式梳理总结的笔记.在ASP.NET MVC中,页面间和Controller与View之间主要有以下几种小量数据传值方式, ViewData.Vi ...

  5. ASP.NET MVC程序传值方式:ViewData,ViewBag,TempData和Session

    转载原地址 http://www.cnblogs.com/sunshineground/p/4350216.html 在ASP.NET MVC中,页面间Controller与View之间主要有以下几种 ...

  6. 浅谈 MVC中的ViewData、ViewBag和TempData

    ViewBag和TempData的区别 ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3 才 ...

  7. ViewData、ViewBag和TempData比较

    一.ViewData.ViewBag和TempData的定义 public dynamic ViewBag { get; } public ViewDataDictionary ViewData { ...

  8. ViewData丶ViewBag和TempData

    案例: public ActionResult Index() { ViewData[; ViewData.Add(); ViewBag.myNum = ; TempData[; Student st ...

  9. 第三节:Action向View传值的四种方式(ViewData、ViewBag、TempData、Model)

    简  介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二 ...

随机推荐

  1. ARM: STM32F7: hardfault caused by unaligned memory access

    ARM: STM32F7: hardfault caused by unaligned memory access ARM: STM32F7: 由未对齐的内存访问引起的hardfault异常 Info ...

  2. JSP自定义标签/自定义标签打包

    有这样一个业务需求: 当我们在编辑某个用户时,需要设置该用户的角色,在转到编辑页面时,就需要自动勾选上该用户已经选择的角色,如下图: 当我们点击编辑时,会查询用户详细信息,以及角色集合传到编辑页面. ...

  3. laravel cookie写入

            $cookie = cookie('cookie_name', 'value', 5);        $data = ['title'=>'hello world'];     ...

  4. django学习

    1.进入目录→创建一个新的项目mysite 命令:E:\MyCode\PythonCode>django-admin startproject mysite 自动生成目录: 2.创建一个APP ...

  5. Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏 ...

  6. Android之NDK开发(转)

    Android之NDK开发 一.NDK产生的背景 Android平台从诞生起,就已经支持C.C++开发.众所周知,Android的SDK基于Java实现,这意味着基于Android SDK进行开发的第 ...

  7. 【MCU】【STM32】1.cube MX库使用笔记

    STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列.(如,STM32CubeF4 是针对STM32F4系列). 平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS, ...

  8. codevs 钢丝塔的庆生

    #include <cstdio> #include <cmath> const int MOD = 9999991; int table[MOD + 1]; void cre ...

  9. POJ 2923 状压好题

    Relocation Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2631   Accepted: 1075 Descri ...

  10. jstl_fmt

    <fmt:formatDate value="${isoDate}" type="both"/>2004-5-31 23:59:59<fmt: ...