当前位置: 首页 > news >正文

.NET MVC第三章、三种传值方式

.NET MVC第三章、三种传值方式

目录

.NET MVC第三章、三种传值方式

ViewData

传递方法

前台接收

ViewData测试

ViewBag

传递方法

前台接收

ViewBag测试

TempData·支持夸函数

传递方法

前台接收

​编辑TempDate测试


ViewData

ASP.NET MVC 5源代码中ControllerBase类中ViewData属性的定义:

public ViewDataDictionary ViewData { get; set; }

可以看到是字典类型的,属性值object类型

public class ViewDataDictionary : IDictionary<string, object>{}

传递方法

ViewData["msg"] = "key_value的方式传值";

前台接收

@ViewData["msg"]

直接获取即可,很方便。

ViewData测试

可以看到后台传递过来的msg信息。

ViewBag

ViewBag对象是ASP.NET MVC 3提供的功能,它被声明为一个dynamic类型。

ASP.NET MVC 5源代码中声明如下:
dynamic类型的变量都会编译为object类型的变量。因此,dynamic类型只存在于编译时刻,而不存在于运行时刻。

[Dynamic] 

public dynamic ViewBag { get; }

传递方法

ViewBag.Info = "我是通过ViewBag传递的值";

 

前台接收

@ViewBag.Info

 

ViewBag测试

传递以及取值成功

TempData·支持夸函数

ViewData属性与ViewBag属性无法跨Action方法传递数据,当需要在多个Action方法之间传递数据时,可采用TempData属性。

ASP.NET MVC 5源代码中声明如下:

public TempDataDictionary TempData { get; set; }
TempDataDictionary类的定义如下:
public class TempDataDictionary: IDictionary<string, object>{}

注:TempData属性是将数据保存在Session中。

传递方法

TempData["cors"] = "TempData支持夸函数传参。";

为了测试夸方法,需要单独创建一个页面。 

 

页面位置

前台接收

@TempData["cors"]

TempDate测试

可以看到传递成功。

 

相关文章:

  • 【数据结构】二叉树的概述
  • 【iMessage软件苹果相册推】对付nvm应当可以使用brew直接安装brew install flow 到这里根本的环境
  • 【SQL刷题】DAY16----SQL高级联结专项练习
  • 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)
  • 解决Mybatis-Plus或PageHelper多表分页查询总条数不对问题
  • AMQP协议详解
  • JDBC的基础操作
  • centos7安装MySQL5.7
  • 关于竞赛,CSDN还有很长的路要走
  • 猿创征文| Unity高级开发面向对象编程知识总结
  • IDEA 连接 数据库
  • 【Linux】- 权限管理
  • 面试官:谈谈你对IOC和AOP的理解及AOP四种实现方式
  • 查询优化_排序、分组优化
  • CentOS 7 安装mariadb
  • 《Java编程思想》读书笔记-对象导论
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • Angular 响应式表单 基础例子
  • CAP理论的例子讲解
  • centos安装java运行环境jdk+tomcat
  • isset在php5.6-和php7.0+的一些差异
  • Java多线程(4):使用线程池执行定时任务
  • JWT究竟是什么呢?
  • mysql外键的使用
  • Protobuf3语言指南
  • Sass Day-01
  • scrapy学习之路4(itemloder的使用)
  • vue 个人积累(使用工具,组件)
  • WePY 在小程序性能调优上做出的探究
  • 基于axios的vue插件,让http请求更简单
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 数据仓库的几种建模方法
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 智能合约Solidity教程-事件和日志(一)
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 正则表达式-基础知识Review
  • "无招胜有招"nbsp;史上最全的互…
  • # centos7下FFmpeg环境部署记录
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #define用法
  • #includecmath
  • #pragam once 和 #ifndef 预编译头
  • (AngularJS)Angular 控制器之间通信初探
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (SpringBoot)第七章:SpringBoot日志文件
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (十五)使用Nexus创建Maven私服
  • (四)鸿鹄云架构一服务注册中心
  • (转)C#调用WebService 基础
  • (转)nsfocus-绿盟科技笔试题目
  • (转)母版页和相对路径
  • ***利用Ms05002溢出找“肉鸡
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net开发时的诡异问题,button的onclick事件无效