您的当前位置:首页.NET MVC中ViewData,ViewBag和TempData的区别浅析

.NET MVC中ViewData,ViewBag和TempData的区别浅析

2022-06-15 来源:比拉宠物

本文分析了.NET MVC中ViewData,ViewBag和TempData的区别。分享给大家供大家参考。具体分析如下:

ViewData和TempData是字典类型,赋值方式用字典方式,如: 代码如下:ViewData["myName"]ViewBag是动态类型,使用时直接添加属性赋值即可,如: 代码如下:ViewBag.myName

ViewBag和ViewData只在当前Action中有效,等同于ViewTempData可以通过转向继续使用,因为它的值保存在Session中。但TempData只能经过一次传递,之后会被系统自动清除

ViewData和ViewBag 中的值可以互相访问,因为ViewBag的实现中包含了ViewData。

希望本文所述对大家的.net程序设计有所帮助。

小编还为您整理了以下内容,可能对您也有帮助:

.net-mvc前后端4种传值方式

1.)ViewData:后端以字典形式赋值(base.ViewData["key"]=value),前端显示界面直接(@ViewData["key"])调用。

2.)ViewBag:ViewBag为dynamic类型,后端可以直接进行赋值( base.ViewBag.name= ""),前端显示界面直接(@ViewBag.name)调用。 注:ViewBag可能会覆盖ViewData的数据

3.)TempData:后端以字典形式赋值(base.ViewData["key"]=value),前端显示界面直接(@TempData["key"])调用,但TempData的数据会保存到浏览器的session中,所以可以跨试图调用。

4.)Model:后端为正常实体类,在前端显示界面使用时,开头先引用命名空间,并以(@model ClassName)标记,后面直接(@Model.Name)使用。

后端控制器赋值

前端视图使用

MVC中ViewBag,ViewData和TempData 的区别与联系

ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"] ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.myName ViewBag和ViewData只在当前Action中有效,等同于View TempData可以通过转向继续使用

mvc中viewdata 和viewbag的区别

您好,我来为您解答:

ViewBag其实本质就是ViewData,只是多了层Dynamic控制。所以,使用何种方式完全取决于你个人的爱好。

ViewBag和ViewData仅针对当前Action中有效,生命周期和View相同。

TempData: 保存在session中,controller每次执行请求时,会从Session中获取Tempdata(),而后清除session,

获取完TempData数据,虽然保存在内部字典中。但字典中每个条目访问一次后就从字典中删除。因此Tempdata数据最多只能经过一次controller传递,并且每个元素最多只能访问一次。之后自动删除。转载,仅供参考。

如果我的回答没能帮助您,请继续追问。

比拉宠物还为您提供以下相关内容希望对您有帮助:

什么是ViewData的,ViewBag和TempData

ViewBag:ViewBag是动态类型,作用和ViewData一样,都是用来存储信息,有一些不同的是ViewData是object类型,ViewBag是动态类型,从运行效率上来讲,ViewBag高于ViewData。在实际开发中,通不只用其中一种。使用方法:ViewBag.data="张三"TempData:跨请求数据传递,它的机制类似于Session对象,不同的页面之间...

简述viewdata,viewbag和tempdata的区别

ViewBag:ViewBag是动态类型,作用和ViewData一样,都是用来存储信息,有一些不同的是ViewData是object类型,ViewBag是动态类型,从运行效率上来讲,ViewBag高于ViewData。在实际开发中,通不只用其中一种。使用方法:ViewBag.data="张三"TempData:跨请求数据传递,它的机制类似于Session对象,不同的页面之间...

viewdata和viewbag的区别

ViewBag:ViewBag 是动态类型,作用和ViewData一样,都是用来存储信息,有一些不同的是ViewData是object类型,ViewBag是动态类型,从运行效率 上来讲,ViewBag高于ViewData。在实际开发中,通不只用其中一种。使用方法:ViewBag.data="张三"TempData:跨请求数据传递,它的机制类似于Session对象,不同的页面...

mvc中viewdata 和viewbag的区别

ViewData比ViewBag快 ViewBag比ViewData慢 在ViewPage中查询数据时需要转换合适的类型 在ViewPage中查询数据时不需要类型转换 有一些类型转换代码 可读性更好 用代码说明问题:后台:ViewData:List<string> colors = new List<string>();colors.Add("...

tempdata和viewdata的区别

虽然ViewData和TempData都可以传递弱类型数据,但是两者的使用是有区别的:ViewData的生命周期和View相同, 只对当前View有效.TempData保存在Session中, Controller每次执行请求的时候会从Session中获取TempData并删除Session, 获取完TempData数据后虽然保存在内部的字典对象中,但是TempData集合的每个条目访问一次后就从...

MVC中传值有哪些方式

MVC中Controller向View传值的方式共有6种,分别是:ViewBag ViewData TempData 向普通View页面传一个Model对象 向强类型页面传传一个Model对象 用一个ViewModel对象解决所有问题

MVC2,MVC3,MVC4和MVC5有什么不同?

>TempData用于当前和后续请求,即当您知道要重定向的下一个视图时。>在ViewData中,可以通过字符串作为键访问对象字典。>在c#4.0中添加了ViewBag,它使用允许动态添加对象属性的动态功能。我们可以说ViewBag = ViewData +ViewData字典周围的动态特性。5、jquery支持:jquery支持在MVC2中很好。在MVC3中,...

ASP.NET中MVC传递数据的几种形式总结

具体如下:在Asp.net mvc开发中,Controller需要向View提供Model,然后View将此Model渲染成HTML。这篇文章介绍三种由Controller向View传递数据的方式,实现一个DropDownList的显示。第一种:ViewDataViewData是一个Dictionary。使用非常简单,看下面代码:public ActionResult ViewDataWay(int id){ Book book =book...

ASP.NET MVC 4框架揭秘:Controller(1)

其中TempData和ViewData具有基于字典的数据结构 Key和Value分别表示变量的名称和值 两者的不同之处在于前者仅仅用于存储临时数据 并且设置的变量被第一次读取之后会被移除 换句话说通过TempData设置的变量只能被读取一次 ViewBag和ViewData共享着相同的数据 它们之间的不同之处在于前者是一个动态对象 我们可以...

springmvc怎么传递参数

页面传递数据给MVC有三种方式:(1)使用 ViewData 传递数据,ViewData 相当于数据字典,包含 Controlle 和 View 之间传递的所有数据,Controller 会在该字典中添加新数据项,View 从字典中读取数据。(2)使用 ViewBag 传递数据,ViewBag 基于 Asp.net 4.0 与 .net framework,是 dynamic 类型的对象,...

Top