ViewBag、ViewData 和 TempData 的区别 及 Dynamically Typed Object 动态类型介绍

ViewData与ViewBag的区别与联系 ViewData详述 ViewData是一个继承自ViewDataDictionary类的Dictionary对象。 ViewData用来从Controller向对应的View传递值。 ViewData的只在当前当前的请求中有效,生命周期和View相同,其值不能在多个请求 中共享。 在重定向(redirection)后,ViewData中存储的变量值将变为null。 在取出ViewData中的变量值是,必须进行合适的类型转换(隐式或显式)和空值检查。 下面我们来看一个简单的例子,演示一下.. 阅读详情

转自:http://hi.baidu.com/qq409982078/blog/item/f664ce8677ae598bf703a627.html

ViewData 和 TempData 都可以传递弱类型数据,区别如下:

ViewData 只在当前 Action 中有效,生命周期和 View 相同;

TempData 的数据至多只能经过一次Controller传递,并且每个元素至多只能被访问一次,访问以后,自动被删除。

TempData 一般用于临时的缓存内容或抛出错误页面时传递错误信息,可以将TempData 在使用之前存储到相应的 ViewData 中以备循环使用。

Index

public ActionResult Index()
{
    ViewBag.Message = "Welcome to ASP.NET MVC!";
    ViewData["myName"] = "我的名字";
    TempData["myAgeOne"] = "26岁";
    TempData["myAgeTwo"] = "27岁";

    return View();
}

姓名:@ViewData["myName"]
<br />
年龄1:@TempData["myAgeOne"]

About

姓名:@ViewData["myName"]
<br />
年龄1:@TempData["myAgeOne"]
<br />
年龄2:@TempData["myAgeTwo"]

ViewBag.Name=ViewData["Name"];

相同:使用同一个字典集合(数据源)

不同:ViewBag 是 MVC3 新增语法,ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。

Dynamically Typed Object 动态类型

C#4.0加入了dynamic关键字,可以申明一个变量的static类型为dynamic。

使用dynamic的好处在于,可以不去关心对象是来源于COM, IronPython, HTML DOM或者反射,只要知道有什么方法可以调用就可以了,剩下的工作可以留给runtime。

参考资料

http://www.cnblogs.com/palo/archive/2009/03/01/1400949.html

 

点云去噪:基于点云拟合的方法 点云处理是计算机视觉中的重要任务之一,而点云去噪是点云处理的关键步骤之一。在实际应用中,由于采集设备的噪声、运动估计误差或者环境干扰等因素,点云数据中常常包含有噪声点,这些噪声点会对后续的点云分析和处理造成不良影响。一种简单的方法是计算点到拟合曲面的距离,并将距离超过某个阈值的点定义为噪声点,进行过滤。一种简单的方法是计算点到拟合曲面的距离,并将距离超过某个阈值的点定义为噪声点,进行过滤。该方法通过拟合点云数据的曲面模型,对噪声点进行识别和过滤,从而得到更加干净的点云数据。 阅读详情

相关推荐

Adams与matlab联合仿真的一些小技巧

Adams与simulink联合仿真之快速设置初值 去年到现在一直做的两个项目要用到Adams与simulnk联合仿真,虽然网上有很多这方面的教程,但都比较基本,要实现一些稍微复杂的要求就比较困难了,比如我需要改变模型的初始位姿,原来的方式是在adams中设置,再生成联合仿真需要的文件,再在matlab中进行调用和仿真,如果工况多的话这样就特别耗时耗力,进过长时间的摸索,终于找出了在matlab中直接改变Adams模型参数的方法,下面具体说明一下。 我这里的模型是一个小球通过弹簧连接在坐标原点,仿真开始后

weixin_40962901的博客 4785

ViewBag 和 ViewData 的传值

ViewBag 和 ViewData 的传值 简介:在 ASP.NET MVC 中,页面间和 Controller 与View之间主要有以下几种小量数据传值方式,ViewData、 ViewBag、TempData、Session 变量。 我们是幸运的,微软提供给了我们这么多传值方法,但选择越多越让人抓狂,这些技术每一种都有自己的优点和缺点,现在主要说明ViewData、 ViewBag的用法与区别? 一、ViewData: (1)ViewData 是一个继承自 ViewDataDictionary 类的

weixin_50179223的博客 4959

从零到一:ASTER L2数据获取的实战避坑指南

本文提供了一份详细的ASTER L2数据获取实战指南,涵盖账号注册、环境配置、数据检索、下载故障排除及后处理等关键步骤。特别针对NASA EarthData平台的隐形门槛和常见陷阱,给出了实用解决方案,帮助科研新手高效获取地表温度数据,适用于环境监测和城市热岛效应分析等领域。

weixin_29061425的博客 519

TempData、ViewData和ViewBag的区别

ViewData是Dictionnary型的,ViewBag是dynamic型,会在程序运行的时候动态解析。 ViewData为object型,ViewBag为dynamic型。 TempData的使用同ViewData和ViewBag一样,TempData也可以用来向视图传递数据,只是ViewData与ViewBag的生命周期和View相同,它们只对当前View有用。 TempData则可...

分享智能财税相关技术探索 1413

AI提示词实战:用EARS语法5步搞定产品需求拆解(附完整案例)

本文详细介绍了如何运用EARS语法将模糊的产品需求进行原子化拆解,转化为清晰、可执行的结构化指令。通过一个完整的自由职业者项目管理工具案例,演示了从原始需求分析到构建增强AI提示词的五步实战流程,帮助产品经理和技术人员实现高效、精准的需求传达与协作。

nokia的博客 1032

第2章 数据库关系模型-单元测验-数据库原理及应用

第2章 数据库关系模型---数据库与机器学习 作业 常用的关系查询操作包括选择、投影、连接、并、交等。 v 实体完整性是指关系表的属性组成必须是完整的。 x 自然连接是一种等值连接。 v 在参照完整性中,可以定义级联操作。 v 用户自定义完整性可以实施数据的业务约束。 v 每个关系是一个二维表,但二维表不一定是关系。 v 关系中复合键至少包含两个属性。 v 代理键是为了唯一标识关系的不同元组,需要在表单或报表中显示出来。 x ...

aiqq136的博客 5724

Asp.net MVC中ViewData与ViewBag的使用方法(改)

在做MVC开发时经常会用到ViewData和ViewBag进行传值操作,因为很常用所以在这里总结一下,以方便后来人。 Album.cs: [csharp] view plain copy using System;   using System.Collections.Generic;   using System.Linq;   u

laizhixue的博客 2025

TSP、MTSP问题遗传算法详细解读及python实现

写在前面 遗传算法是一种求解NPC问题的启发式算法,属于仿生进化算法族的一员。仿生进化算法是受生物行为启发而发明的智能优化算法,往往是人们发现某种生物的个体虽然行为较为简单,但生物集群通过某种原理却能表现出智能行为。于是不同的人研究不同的生物行为原理,受到启发而发明出新的仿生进化算法。比如免疫优化算法,蚁群算法,模拟退火算法等,这些算法以后也会简单介绍。 本文的主题是遗传算法,该算法也是受到生物行为启发。物竞天择,适者生存,优胜劣汰,是该优化算法的核心思想。笔者在业务中需要用到遗传算法求解TSP问题,但是网

weixin_47675950的博客 9306

数据传输方式:ViewBag、ViewData、TempData与Model的详解与比较

数据传输方式定义与特点使用场景ViewBag动态类型,封装ViewData控制器与视图间传递简单数据ViewData键值对集合,类型安全需转换控制器与视图间传递简单数据,需要明确数据类型TempData临时存储,跨请求传递数据重定向操作,跨请求传递数据Model强类型,设计时智能提示复杂数据展示和编辑,与数据库表紧密关联的视图每种方式都有其适用的场景和优缺点,开发者应根据实际需求选择合适的数据传输方式。

学习和分享 834

首发!谷歌倾斜摄影数据转换生成OSGB格式

全球首发,谷歌倾斜摄影模型文件能直接转换成OSGB格式!

cyber_room的博客 2287

基于Simulink的电机驱动逆变器仿真

本文完成了电机驱动逆变器的Simulink多层级仿真平台搭建,实现了:✅ 构建了从理想到器件级的逆变器模型体系✅ 实现了Si/SiC损耗精确计算与结温预测✅ 建模了母线寄生参数、死区效应、栅极驱动等关键非理想特性✅ 支持故障注入与保护策略验证✅ 集成了热管理、EMI、寿命预测与碳足迹评估。

amy_mhd的博客 86

asp.net core mvc的 ViewBag , ViewData , Module ,TempData

ViewData类型ViewData是一个字典(),它将键(Key)映射到值(Value)。访问方式ViewData使用字符串键来存储数据,通过键来访问传递的数据。生命周期ViewData的数据仅在当前请求生命周期内有效。ViewBag类型ViewBag是一个动态对象,它是基于ViewData实现的。访问方式ViewBag通过动态属性来访问数据。生命周期ViewBag与ViewData相同,数据只在当前请求周期内有效。ViewBag和ViewData。

情绪不稳定的98年程序员 1559

影像组学文章复现:ITHscore:通过多尺度放射学特征全面定量NSCLC肿瘤内异质性 ----小细胞肺癌肿瘤异质性评分

目的:通过计算机断层扫描(CT)图像量化非小细胞肺癌(NSCLC)的肿瘤内异质性(ITH)。 方法:整合局部辐射特征和全局像素分布模式,开发定量ITH测量-ITHscore。在六个患者队列(n = 1399)中检查ITHscore与肿瘤表型,基因型和患者预后的关联,以验证其在表征ITH方面的有效性。

xxx 1020

MVC中的ViewData、ViewBag和TempData

一、ViewBag和ViewData的定义 public dynamic ViewBag { get; } public ViewDataDictionary ViewData { get; set; } 二、ViewBag和ViewData的差别 viewdata viewbag 它是key/value字典集合 它是dynamic类型...

weixin_34186128的博客 133

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

C#面:MVC中的TempData\ViewBag\ViewData区别?

TempData、ViewBag和ViewData都可以用于在控制器和视图之间传递数据,但它们的生命周期和使用方式略有不同。TempData适用于在请求之间传递数据,而ViewBag和ViewData适用于在当前请求中传递数据。在使用时,需要根据具体的需求选择合适的机制。

那个那个鱼的博客 954

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

ViewData、ViewBag、TempData、Session 、强类型视图

ViewData和ViewBag是一回事, ViewBag其实是对ViewData的封装, 其内部其实是使用ViewData实现数据存储的。唯一的不同点是,ViewBag可以存储动态类型(dynamic)的变量值, 而ViewData只能存储String Key/Object Value字典数组。 所以我们可以将这四种方法归为三大类, ViewData和ViewBag, TempData, Ses...

qq_41609957的博客 444

Asp.net MVC中的ViewData与ViewBag

在Asp.net MVC 3 web应用程序中,我们会用到ViewData与ViewBag,对比一下: ViewData ViewBag

CHCH998的博客 472

浅谈隐式类型var和动态类型dynamic以及MVC特性ViewBag

  如果你用MVC写过程序,那么你应该知道ViewBag这个用于前后台的数据传递工具,那么你是否对ViewBag的用法感到过疑惑呢? ViewBag.Mode1l=new object(); ViewBag.Model2=new object(); ViewBag.Model3=new object(); ......   我们知道,在使用对象属性的时候要先申明(即这个对象的类中...

weixin_30419799的博客 312

ViewBag 和 ViewData 的用法和区别

ViewBag 和 ViewData 的用法和区别 ViewData ViewData 是一个特殊的字典类的名称,我们可以用标准的字典语法进行修改或赋值,比如: ViewData[“UserID”] = “Jack”; ViewBag ViewBag 是 asp.net mvc3 中对 ViewData 的一种动态封装,使用的方法更方便。它的赋值方法是: ViewBag.UserID= “Jack”; 也就是说 ViewData[“UserID”] 和 ViewBag.UserID是一样的效果。 ViewB

weixin_44567334的博客 502

MVC 之 viewbag 与 viewdata

public class FirstController : Controller     {         // GET: First         public ActionResult Index()         {              base.ViewData["Something"] = 12345;             return View();

qqqgg的专栏 471

MVC 5使用ViewBag(对象)显示数据

前面Insus.NET有演示使用ViewData来实现控制器与视图的通讯。如果想了解的话,可以从下面两个链接可以查看:《MVC 5使用ViewData(对象)显示数据》http://www.cnblogs.com/insus/p/3377178.html《MVC 5使用ViewData(模型)显示数据》http://www.cnblogs.com/insus/p/3377217.html此篇是学习...

weixin_33834910的博客 303

ViewBag(动态视图)、ViewData、ViewDataDictionary区分

ViewData和ViewBag定义属性 一.ViewData的属性 ViewBag的属性 ViewData例子 ViewBag例子 ViewData与ViewBag的缺点: 虽然ViewBag和ViewData可以在Controller和View之间传递内容,但它们并非最佳选择,ViewBag和ViewData的缺点有: 1、ViewData保存的是对象类型...

21号先锋者 2768

ViewBag和ViewData的用法和区别

ViewBag和ViewData的用法和区别 作者:欧日鑫 撰写时间:2020年8月8日 一、ViewBag的定义 public dynamic ViewBag { get { if (_dynamicViewData == null) { _dynamicViewData = new DynamicViewDataDictionary(() => ViewData); } return _dynamicViewData

weixin_44560792的博客 1124

ViewBag的用法

当视图中最上面已用 @model IEnumerable<ShopDome.Model.XinJianGoods> 传过一张表的值时, 在用另一个表传值可以用ViewBag往前传值:具体代码如下: Name:自己命的名字 视图: @foreach (var item in ViewBag.Name as IEnumerable<ShopDome.Mode...

weixin_44831306的博客 2873
上一篇: SQL出现系统死锁
下一篇: C#中的 int?是什么意思
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值