asp23 什么是ViewData的,ViewBag和TempData?

什么是ViewData的,ViewBag和TempData?英寸asp.netmvc在程序设计中,通常使用viewdata、viewbag和tempdata来传输数据。这三个对象可以用来传输数据,但是

什么是ViewData的,ViewBag和TempData?

英寸asp.netmvc在程序设计中,通常使用viewdata、viewbag和tempdata来传输数据。这三个对象可以用来传输数据,但是它们在细节上有很多不同。Viewdata:Viewdata是一个字典集,可以通过键值读取相应的值。用法:viewdata[“myname”]=“Zhang San”viewbag:viewbag是一种动态类型,与viewdata一样用于存储信息。一些区别在于viewdata是对象类型,而viewbag是动态类型。在运行效率方面,viewbag高于viewdata。在实际发展中,它不仅仅是其中之一。使用方法:ViewBag.data=“张三”临时数据:交叉请求数据传输。其机制类似于session对象。参数可以在不同的页面之间传输,但是tempdata只保存最后的数据。当页面再次刷新时,数据将消失。用法:tempdata[“myname”]=“Zhang San”]~ASP.NETViewstate中的Viewstate为ASP.NET用于在返回web控件时保存其状态值的机制。当web窗体设置为runat=“server”时,窗体uViewState将附加一个隐藏属性。uViewState存储VIEWSTATE中所有控件的状态值。Viewstate是类控件中的一个字段。所有其他控件继承控件以获取viewstate函数。是什么类型的系统.Web.UI. statebag,具有名称/值的对象的集合。请求页面时,ASP.NET将所有控件的状态序列转换成字符串,然后以隐藏属性的形式发送给客户端。当客户端发回页面时,ASP.NET分析返回的表单属性并将值赋给控件。当然,这都是由ASP.NET负责任。希望我的回答能让你满意!谢谢

有三种方法可以将数据从页面传输到MVC:(1)使用viewdata传输数据。Viewdata相当于数据字典,它包含控件和视图之间传输的所有数据。控制器将在字典中添加新的数据项,视图将从字典中读取数据。(2) 使用viewbag传输数据。Viewbag基于Asp.net4版本. 0和。Net框架是动态类型的对象。虽然viewbag比viewdata慢,但是在viewpage中查询数据时不需要进行类型转换,可读性更好。(3) 使用ViewModel传输数据。ViewModel是ASP.NETMVC应用程序中隐式声明的层(用于维护模型和视图之间的数据传输)是视图的数据容器。