MyMvc: TempData ViewData ViewBag

TempData: 创建或更新一次,可访问一次,随即销毁(为是剪切不复制);

ViewData: 键值对结构;

ViewBag: 使用dynamic控制器,封装ViewData;

ViewData与ViewBag异同:

同:一般情况下访问的数据是相同的;

异:1、使用语法:ViewData为字典语法,ViewBag类似属性访问;

  2、访问范围:ViewBag不可以访问非有效标识符的ViewData键值对(比如Key带空格);

  3、作为参数:因ViewBag使用dynamic,其值为动态类型,而编译器为选择正确方法,必须知道每一个参数的真正类型(要使用ViewBag可显示转换类型)。

MyMvc: TempData ViewData ViewBag,布布扣,bubuko.com

时间: 2024-10-19 05:32:17

MyMvc: TempData ViewData ViewBag的相关文章

【MVC4 之 ViewData ViewBag TempData】

ViewData (一个字典集合类型):传入的key必须是string类型,可以保存任意对象信息,特点:它只会存在这次的HTTP的要求中而已,并不像session可以将数据带到下一个Http要求. ViewData.Model:由于viewdata在传入的时候属于弱类型,也就是在ViewData里特定键值的类型永远是object通用对象类型,传给view使用之后,还必须通过转型才能进一步使用,不太方便. eg: public ActionResult Index(){ var data=GetD

ASP.NET MVC ViewData/ViewBag 简单小结

近期在项目中遇到一个问题,就是用ViewBag.Model存储匿名对象传递给View,但是需要根据条件给匿名对象添加属性,这个可真心不易,Google了一下发现很多方案都是动态编译神马的,感觉好高大上,最后也没采用,因为不知道动态编译的性能消耗大不大. 最后是自己简单研究了一下,在ViewBag.Model中存储了Dictionary<string, object>,在View通过Model[key]的方式可以正常读取相应的值,在此对ViewData和ViewBag的使用进行一个简单的小结:1

MVC页面常见三种传值方式——ViewData,ViewBag,TempData

最近接触MVC代码多了,发现了很多新东西,比如页面传值.发现了MVC里面原来有这么多对象可以用来传值,最近两天用到了ViewData和ViewBag,之后又关联到了TempData,现在列个表格比较下: 用过之后,个人感觉还是ViewBag最好用,直接属性赋值就可以了,但是ViewData和TempData又有它们的优势,在使用的时候,可以根据要传递数据的大小,是从Controller向Views里面传递数据,还是Controller传递数据...综合考虑各种因素再做决定吧. 除了这三种比较常见

ViewData ViewBag TempData

ViewData(一个字典集合类型):传入的key必须是string类型,可以保存任意对象信息,特点:它只会存在这次的HTTP的要求中而已,并不像session可以将数据带到下一个Http要求. ViewData.Model:由于viewdata在传入的时候属于弱类型,也就是在ViewData里特定键值的类型永远是object通用对象类型,传给view使用之后,还必须通过转型才能进一步使用,不太方便. eg: public ActionResult Index(){ var data=GetDa

VS2013 ViewData ViewBag Ajax等关键词报错(当前上下文不存在名称)而且不提示也点不出来,但是可以正常运行,

这个多数问题是因为 视图 的Web.config 内的配置问题 在Views文件夹下  有一个Web.config文件,把里面的版本号(System.Web.Mvc, Version=5.2.2.0),改成你VS内存存在的,你可以用的版本号,如果不知道版本号是多数,可以新建一个MVC项目,然后去看新项目的MVC版本号. 我引用的 是5.2.2.0   而我电脑上的是5.0.0.0 这个项目是直接从同事那里copy来的  他电脑上  可能安装了较新的 MVC ,更改一下就可以了

[ASP.Net] MVC2,3,4,5的不同

现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 -- 它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅. View Engine : View Engine is responsible for rendering of the HTML code from your views to the browser.MVC 2 uses only Web Forms view engine (.aspx) as a defa

ASP.NET MVC 3 常用

http://blog.csdn.net/churujianghu/article/details/7297358 1.ASP.NET MVC 3 如何去除默认验证 这个默认验证是在web.config配置文件中设置的    <add key="ClientValidationEnabled" value="true"/>设置为false就行了,    这个是去掉所有model的默认验证,然后你可以在model中加上自己的验证,这样哪些属性需要验证,哪些

MVC常用

1.ASP.NET MVC 3 如何去除默认验证 这个默认验证是在web.config配置文件中设置的 <add key="ClientValidationEnabled" value="true"/>设置为false就行了, 这个是去掉所有model的默认验证,然后你可以在model中加上自己的验证,这样哪些属性需要验证,哪些不需要 就看你自己了 示例代码: publicclass Movie { publicint ID { get; set; }

ASP.NET MVC 3 入门级常用设置、技巧和报错

1.ASP.NET MVC 3 如何去除默认验证 这个默认验证是在web.config配置文件中设置的    <add key="ClientValidationEnabled" value="true"/>设置为false就行了,    这个是去掉所有model的默认验证,然后你可以在model中加上自己的验证,这样哪些属性需要验证,哪些不需要 就看你自己了 示例代码: publicclass Movie{publicint ID { get; set