ASP.NET-viewBag Viewdata Tempdata
ASP.NET MVC提供3种选择ViewData,ViewBag,TempData来从controller到View及后续请求传输数据。
ViewData和ViewBag很相似,而TempData有所不同。
让我们来讨论或总结三者的要点:
ViewBag 和 ViewData的区别:
- ViewData 是一个字典对象,从ViewDataDictionary 类继承,已string(字符串)作为键来访问对象。
- ViewBag 是一个动态属性,是c#4.0新增的优秀的动态特性。
- ViewData 需要进行数据类型转换,判断书否为null值来防止出错。
4.ViewBag 不需要类型转换。
5.ViewBag和Viedata只能在一个action方法中使用,两个同名的aciton仍然是2个的意思,不算一个aciton方法
ViewBag & ViewData 的例子:
public ActionResult Index(){ViewBag.Name = "Monjurul Habib";return View();}public ActionResult Index(){ViewData["Name"] = "Monjurul Habib";return View();}
@ViewBag.Name@ViewData["Name"]
TempData:
这个好像是不同的Action函数中才能使用,要是同一个action函数中不能!
TempData也是一个字典类型,从TempDataDictionary类继承而来。存储在短暂的会话中。键 为string类型,值为object类型。
所不同的是对象的生命周期。TempData生命周期是一个http请求的时间。意思就是从一个页面跳转到另一个页面的时间。保持302/303的重新定向因为他们是在同一个请求中。
public ActionResult Page(){TempData["v"] = "jingya";return View();}public ActionResult Rank(){return Content(TempData["v"].ToString());}
当你从一个control到另一个control或一个page到另一个page之间跳转的时候帮你保存数据。它内部使用了会话(session)机制。主要用在从一个页面跳到另外一个页面期间来存储数据。
需要进行数据类型转换,检查是否为null来规避错误。通常用于存储一个时间信息,错误信息或验证信息。
public ActionResult Index(){ViewBag.name = TempData["name"];return View();}public ActionResult About(){ViewBag.Message = "Your application description page.";TempData["name"] = "jingya";return RedirectToAction("Index");}
最后一个机制就是Session,工作方式就像viewdata,字典类型等键值方式,键一般为string类型,值可以是object类型。这种方式,是把数据存储在客户端的cookie里,可以保存较长的一段时间。也需要进行行验证,但是没有安全保障。关于ViewData 和viewbag你需要在程序中较灵活的应运。因为每一个页面的动作都贯穿asp.net 整个生命周期。你可以在子页面中使用viewdata/viewbag,但是要细心,你是不是用它来填充无关的数据,会污染你的控制器。
ASP.NET-viewBag Viewdata Tempdata的更多相关文章
- ASP.NET MVC ViewBag/ViewData/TempData区别
ViewBag/ViewData public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } Vi ...
- ASP.NET MVC程序传值方式:ViewData,ViewBag,TempData和Session
转载原地址 http://www.cnblogs.com/sunshineground/p/4350216.html 在ASP.NET MVC中,页面间Controller与View之间主要有以下几种 ...
- 译:什么是ViewData的, ViewBag和TempData? - MVC为当前和后续请求之间传递数据的三种方法
译文出处:http://www.codeproject.com/Articles/476967/WhatplusisplusViewData-cplusViewBagplusandplusTem AS ...
- 浅谈 MVC中的ViewData、ViewBag和TempData
ViewBag和TempData的区别 ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3 才 ...
- ViewData、ViewBag、TempData、Session的区别与联系
简介 这篇文章是我在学习ASP.NET MVC程序传值方式梳理总结的笔记.在ASP.NET MVC中,页面间和Controller与View之间主要有以下几种小量数据传值方式, ViewData.Vi ...
- ViewData、ViewBag和TempData比较
一.ViewData.ViewBag和TempData的定义 public dynamic ViewBag { get; } public ViewDataDictionary ViewData { ...
- MVC5-8 ViewData、ViewBag、TempData分析
MVC中Contoller与视图的数据传输 后台的值显示到界面上,我们有几种方式呢.MVC给我们提供了ViewData.ViewBag.TempData.Model这几种方式,当然我们也可以用ajax ...
- 第三节:Action向View传值的四种方式(ViewData、ViewBag、TempData、Model)
简 介 在前面的章节中,我们已经很清楚,MVC工作模型的流程,Controller中的Action接收到客户端的请求,处理后要将数据返回给View,那么Action中是如何将数据返回给View的,二 ...
- 关于ViewData,ViewBag,TempData三者学习记录!
关于ViewData,ViewBag,TempData三者学习分享! 1.ViewData和TempData是字典类型,赋值方式用字典方式,ViewData["Key"] . 2. ...
随机推荐
- Ajax jQuery下拉框联动案例
需求: 使用ajax和jQuery实现下拉框联动. 注意:需要加入jquery-2.1.1.min.js 前台 <!DOCTYPE html> <html> <head& ...
- BA--关于江森的学习笔记
机房功率密度:“每机架”功耗 数据中心效率:平均 PUE 2.5,百度是1.36,苹果是1.06 绿色数据中心:PUE<1.58 机房环境:空气质量,配电,UPS,空气处理系统,发电机,江森OD ...
- BA-风阀水阀执行器接线图
220水阀执行器接线图 24V风阀执行器接线图
- 洛谷——P2657 低头一族
https://www.luogu.org/problem/show?pid=2657 题目描述 一群青年人排成一队,用手机互相聊天. 每个人的手机有一个信号接收指标,第i个人的接收指标设为v[i]. ...
- osEye.Net:离别是为了将来的重逢
这一时刻已经成为osEye历史..... 在热心网友的关怀和鼓励之下,osEye.net将继续运行着,感谢你们陪伴osEye一起走过.... 与你相知相恋已经有4个年头了,你的成长到成熟都让我历历在目 ...
- 【剑指Offer学习】【面试题63:二叉搜索树的第k个结点】
题目:给定一棵二叉搜索树,请找出当中的第k大的结点. 解题思路 假设依照中序遍历的顺序遍历一棵二叉搜索树,遍历序列的数值是递增排序的. 仅仅须要用中序遍历算法遍历一棵二叉搜索树.就非常easy找出它的 ...
- [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)
简单介绍: 单元測试是软件开发的一个重要方面.毕竟,单元測试能够帮你找到bug和崩溃原因,而程序崩溃是Apple在审查时拒绝app上架的首要原因. 单元測试不是万能的,但Apple把它作为开发工具包的 ...
- Linux 下安装 jdk-7u79-linux-x64.gz,jdk1.7.0_79,jdk1.7步骤:
1.首先下载对应CentOS版本的jdk:这里我下载的是jdk-7u79-linux-x64.tar.gz 2.上传到CentOS下的目录中 3.新建一个APP目录作为存储jdk的目录 4.解压jdk ...
- ORACLE查询闪回
在Oracle中如果错误地提交了修改操作,然后想查看修改前的值,这时候可以使用查询闪回(query flashback). 查询闪回可以根据根据一个时间值或者系统变更号(SCN)进行. 执行闪回操作, ...
- 2019黑马JAVAEE57期基础班就业班(全套)
黑马java57期 百度网盘 2019黑马JAVAEE57期基础班就业班(全套)百度网盘 下载 Spring全家桶解决方案 - 微服务认证解决方案(JWT) - 微服务网关解决方案(Zuul) 黑马j ...