ViewBag

MVC3中 ViewBag、ViewData和TempData的使用和区别

在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData。MVC3中保留了ViewData的使用。ViewBag 是动态类型(dynamic),ViewData 是一个字典型的(Dictionary)。

ViewBag和ViewData的区别:
ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。所以在视图中获取它的数据时候不需要进行类型转换

ViewData ViewBag
它是Key/Value字典集合 它是dynamic类型对像
从Asp.net MVC 1 就有了 ASP.NET MVC3 才有
基于Asp.net 3.5 framework 基于Asp.net 4.0与.net framework
ViewData比ViewBag快 ViewBag比ViewData慢
在ViewPage中查询数据时需要转换合适的类型 在ViewPage中查询数据时不需要类型转换
有一些类型转换代码 可读性更好

Contorller

<pre class="csharp" name="code">using NewOjbect.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;namespace NewOjbect.Controllers
{public class HomeController : Controller{      public ActionResult Index(){ViewBag.UserName = "无盐海";ViewBag.Age = "25";ViewBag.Gender = 1;string[] Itmes = new string[] { "中国", "美国", "德国" };ViewBag.itemsA = Itmes;// viewbag是一个新的dynamic类型关键字的封装器 //ViewData["Items"] = items;return View();                 }}
}

View

<pre class="html" name="code"><html>
<head><meta name="viewport" content="width=device-width" /><title>Test2</title>
</head>
<body><div>用户名:<input type="text" id="UserName" name="UserName" value="@ViewBag.UserName" /></br>年  龄: <input type="text" id="age" name="age" value=@ViewBag.Age /></br>性  别:<input type="text" id="Gender" name="Gender" value="@ViewBag.Gender" /></br><button>提交</button><!---这里输出国家名-->>@foreach (dynamic item in ViewBag.itemsA){<p>@item</p>}</div>
</body>
</html>



MVC中数据传递 ViewBag的使用相关推荐

  1. 转MVC中数据传递 ViewBag的使用

    MVC中数据传递 ViewBag的使用 链接:https://www.cnblogs.com/cynchanpin/p/7065098.html ViewBag MVC3中 ViewBag.ViewD ...

  2. MVC中 数据底层联合JQUERY实现动态的安全的验证机制

    实体的验证分部类定义如下 前台controller里进行数据有效性的验证,成功就进行数据处理,不成功就返回错误 前台页面配合JQuery强大的验证功能,实现动态验证 MVC集成表单验证输出单元,显示验 ...

  3. 部分视图传viewbag_NET开发-MVC中如何使用ViewBag和操作方法参数向视图传递数据?...

    ASP.NET MVC控制器向视图传递数据 第1节:ViewBag的使用 基本概念 在ASP.NET MVC中,有一个特殊的ViewBag对象,ViewBag是一个dynamic动态类型,定义在Con ...

  4. mvc中viewdata 和viewbag的区别

    ViewData                                                                           ViewBag 它是Key/Val ...

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

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

  6. ASP.NET MVC中ViewData、ViewBag和TempData

    1.ViewData 1.1 ViewData继承了IDictionary<string, object>,因此在设置ViewData属性时,传入key必须要字符串型别,value可以是任 ...

  7. 【转载】MVC中 数据底层联合JQUERY实现动态的安全的验证机制

    实体的验证分部类定义如下 前台controller里进行数据有效性的验证,成功就进行数据处理,不成功就返回错误 前台页面配合JQuery强大的验证功能,实现动态验证 MVC集成表单验证输出单元,显示验 ...

  8. Web应用系统中数据传递的方式汇总

    本文转载自sina_blog(siangzhang) 目录 1  Socket方式 2  ftp/文件共享服务器方式 3 数据库共享数据方式 4 message方式 5 案例 随着近年来SOA(面向服 ...

  9. react中父子组件数据传递,子组件之间的数据传递

    首先有三个js文件,index.js(父组件) baseForm.js(子组件) etable.js(子组件) 在index.js中定义一个arr数组,传给BaseForm组件 import Reac ...

最新文章

  1. android 6.0虚拟内存,Maxwell的统一虚拟内存只用在专业卡上,GTX 750 Ti或无缘
  2. [导入]ASP.NET AJAX 说明文档-客户端引用-全局命名空间-JavaScript 基础类型扩展-Array 类型扩展-contains 函数...
  3. 18春东师计算机应用基础,东师计算机应用基础18春在线作业31.docx
  4. 信息学奥赛一本通 2022:【例4.7】最小n值
  5. SpringBoot @Cacheable缓存入门程序
  6. Windows 游戏之父,DirectX 作者 Eric Engstrom 意外去世,享年55岁
  7. Git显示漂亮日志的小技巧
  8. Cocos2d入门--2-- 三角函数的应用
  9. 使用 MSDeploy 部署网站
  10. macOS Monterey 2K 屏开 HiDPI
  11. 2019Windows7 虚拟机安装系统图文教程
  12. matplotlib配色
  13. 目录穿越及文件包含漏洞
  14. java中如何确定表的列宽,excel列宽怎么设置_javaexcel怎么设置所有列宽
  15. 安徽工业大计算机学院,安徽工业大学计算机学院来计算机学院交流学生工作
  16. Halcon 算子 convexity
  17. 直角三角形面积Java_怎么用Java计算三角形的周长和面积
  18. 从零开始仿写一个抖音App——音视频开篇,移动安全入门
  19. 安卓手机微信数据导出方法 -- adb备份(无需root)
  20. 110、氮气IG100灭火系统的设计灭火浓度

热门文章

  1. linux下的线程编译,Linux下的多线程下载工具Axel编译安装
  2. 未定义标识符detect
  3. 结合盒子模型,优化明信片
  4. 2023年,下班后可以做什么副业?
  5. JavaScript 动态渲染页面爬取(二) —— 基于 Splash
  6. 重磅开源!屠榜各大CV任务!最强骨干网络:Swin Transformer来了
  7. oracle查看还原点,闪回还原点restore point
  8. Flink之Kmeans
  9. 单目和双目摄像头到底有神马差?
  10. Flask项目(新闻网站)—— 新闻详情页(点击量累加,用户代码封装)