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

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

ViewData和TempData是字典类型,赋值方式用字典方式,如:

代码如下:

ViewData["myName"]

ViewBag是动态类型,使用时直接添加属性赋值即可,如:

代码如下:

ViewBag.myName

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

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

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

(0)

相关推荐

  • ASP.NET笔记之 控件与母板的区别分析

    1.ASP.NET的好坏处 CodeBehind:"前aspx后cs"的模式,(1.aspx(控件定义.html.css)控制页面长相,cs控制程序逻辑aspx就是模板引擎,不需要再去寻找第三方的模板引擎(2.aspx中调用cs的成员级别必须是protected或者public不能是private因为当前this执行的是当前的子类(通过反编译查看) 2. Literal: Mode属性,避免XSS攻击 TextBox:AutopostBack=true 焦点离开Textbox提交表单A

  • .net中的session与cookies区别及使用方法

    先介绍一下比较简单的使用方法: 给COOKIES赋值 复制代码 代码如下: Response.Cookies["uid"].Value = "20"; Response.Cookies["LoginCode"].Value = "58469"; 以上就是分别对两个COOKIES变量赋了两个不同的传,那么在使用COOKIES时,我们怎样来控制COOKIES的有效期呢,看下面:  复制代码 代码如下: Response.Cooki

  • asp.net中virtual和abstract的区别分析

    本文实例分析了asp.net中virtual和abstract的区别,分享给大家供大家参考.具体分析如下: 一.Virtual方法(虚方法) virtual 关键字用于在基类中修饰方法.virtual的使用会有两种情况: 情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法.那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法. 情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法.那么在对派生类实例的调用中,该虚方法使用的是派生重写的方

  • asp.net 中静态方法和动态方法调用的区别实例分析

    复制代码 代码如下: //定义静态方法class SQLHelper       {        public static string aaa()        {            return "你好"               }    } 调用:SQLHelper.aaa(); // 类名.方法名 //定义动态方法class SQLHelper       {        public string aaa()        {            return

  • .net中as和is之间的区别分析

    1.as 用于在兼容的引用类型之间执行转换,as 运算符类似于强制转换操作:但是,如果转换不可行,as 会返回 null 而不是引发异常.更严格地说,这种形式的表达式:expression as type,等效于expression is type ? (type)expression : (type)null,只是 expression 只被计算一次.注意,as 运算符只执行引用转换和装箱转换.as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来执行 as操作符不

  • Asp.net中Response.Charset与Response.ContentEncoding区别示例分析

    本文以示例形式分析了Asp.net中Response.Charset与Response.ContentEncoding的区别,分享给大家供大家参考.具体如下: 1.Response.Charset  ASP.NET 中示例: <%@ Page CodePage=936 %> CodePage 告诉 IIS 按什么编码来读取 QueryString,按什么编码转换数据库中的内容-- 2.Response.ContentEncoding 获取或设置输出流的 HTTP 字符集. Response.C

  • asp.net中DBNull.Value,null,String.Empty区别浅析

    首先,"null"是C#中(VB.NET为Nothing),表示某个引用对象变量"未引用"任何实体时候的状况(典型症状是如果调用这个变量的某个方法,会抛出NullException之类的异常). String.Empty是一个静态的公共变量,表示某String变量不包含任何字符(等同于"").不过从性能上说,用String.Empty比声明用一个""好一些--显然地,前者是String类的静态变量,无论如何使用只产生一个实例,

  • ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)

    MVC, MVP和MVVM都是用来解决界面呈现和逻辑代码分离而出现的模式.以前只是对它们有部分的了解,没有深入的研究过,对于一些里面的概念和区别也是一知半解.现在一边查资料,并结合自己的理解,来谈一下对于这三种模式思想的理解,以及它们的区别.欢迎各位高手拍砖. 阅读目录: 复制代码 代码如下: 一. MVC, MVP, MVVM诞生的需求? 二. 一段典型的耦合代码 三. MVC模式 3.1 主动MVC 3.2 被动MVC 3.3 Web应用中的MVC框架 3.4 MVC总结 一,MVC, MV

  • c#.net中const和readonly的区别

    (1) readonly和const都是用来标示常量的.(2) 初始化赋值不同.const修饰的常量必须在声明的同时赋值.例如: 复制代码 代码如下: public class Class1{    public const int MaxValue = 10;       //正确声明    public const MInValue;                   //错误:常量字段要求提供一个值    public Class1()    {        MinValue = 10

  • ASP.NET小结之MVC, MVP, MVVM比较以及区别(二)

    上一篇得到大家的关注,非常感谢.由于自己对于这些模式的理解也是有限,对于这些模式的比较,是结合自己的理解,一些地方不一定准确,但是只有亮出自己的观点,才能抛砖引玉不是? 欢迎各位拍砖.:) 复制代码 代码如下: 阅读目录: 四. MVP模式 4.1 MVP的思想 4.2 UI界面接口化 4.3 Presenter -- Model和View之间的桥梁 4.4 MVP的代码结构和时序图 4.5 MVP模式总结 五. MVVM模式 5.1 MVVM模式的设计思想 5.2 MVVM模式结构图 六. M

  • 详细说明asp.net中datareader 和 dataset 的区别

    1. 获取数据的方式    DataReader为在线操作数据, DataReader会一直占用SqlConnection连接,在其获得数据过程中其它操作不可以再使用SqlConnection连接对象. 复制代码 代码如下: while(datareader.read()){..............}dataview.datasource=datareader;dataview.databind(); DataSet为离线操作数据,DataSet会将数据一次性读入内存,然后断开连接,这时其它

随机推荐