ASP.NET MVC视图和控制器之间的传值总结(一)
一、Control往View传递值
1.1 ViewBag
ViewBag的后面接的是动态对象,它会在程序运行的时候动态解析。具体用法为ViewBag.Key,Key为Data在View中的唯一识别。
ViewBag其实本质就是ViewData,只是多了层Dynamic控制。他们的Key是共用的,如ViewBag.name其实和ViewData["name"]源代码是一样的,
修改了其中任何一个,两个都会被修改。ViewData和ViewBag中的值可以互相访问。
代码:
Control端:
public ActionResult Index2(){ViewBag.name = "张三";ViewData["name"] = "李四";return View();}
View端:
@{Layout = null;
}<!DOCTYPE html><html>
<head><meta name="viewport" content="width=device-width" /><title>Index2</title>
</head>
<body><div><span>ViewBag: 姓名:@ViewBag.name</span><span>ViewData: 姓名:@ViewData["name"]</span></div>
</body>
</html>
结果:
ViewBag: 姓名:李四 ViewData: 姓名:李四
1.2 ViewData
ViewData它key/Value的键值对。
Control端:
ViewData["name"] = "张三";
View端:
<span>年龄:@TempData["age"]</span>
ViewData和ViewBag的主要区别:ViewPage查询数据的时候,ViewData需要做数据类型的转换(必须显式转换),而ViewBag不需要做一些数据类型的转换(隐式转换)。
Control端:
public ActionResult Index(){Student stu = new Student();stu.name = "张三";stu.age = 20;ViewBag.student = stu;ViewData["student"] = stu;return View();}
View端:
@{ViewBag.Title = "Index";
}<span>姓名:@ViewBag.student.name</span> <span>年龄:@ViewBag.student.age</span>
@{var stu = @ViewData["student"] as @MVC传值.Models.Student;
}
<span>姓名:@stu.name</span> <span>年龄:@stu.age</span>
<a href="JumpMethod" >跳转到Test1View</a>
1.3 TempData
TempData只保存到下一个请求中,下一个请求完了之后,TempData就会被删除了。
TempData每一项即每一个Key对应的项次只能被(View或者Controller)使用一次,就会被销毁。
Request的定义从宏观上看就是页面刷新了一次。
至于TempData的生存周期请参考:http://www.cnblogs.com/jhxk/articles/4773527.html
Control端:
public ActionResult Index(){TempData["age"] = 20;return View();}public ActionResult JumpMethod(){//TempData["age"] = 21;return RedirectToAction("Test1");}public ActionResult Test1(){return View();}
View端:
1 <span>姓名: @ViewBag.name</span> <span>年龄:@TempData["age"]</span>
转载于:https://www.cnblogs.com/cherish836138981/articles/6586597.html
ASP.NET MVC视图和控制器之间的传值总结(一)相关推荐
- Salesforce视图与控制器之间的交互
刚接触Salesforce,过程的确是比较艰难了,中文资料几乎没有,看英文资料学的效率却不高,不过看了一段时间的英文资料发现自己英语水平挺高不少啊,现在看都不用工具翻译,早知道就再次尝试报个6级,看下 ...
- ASP.NET MVC 视图(四)
ASP.NET MVC 视图(四) 前言 上篇对于利用IoC框架对视图的实现进行依赖注入,最后还简单的介绍一下自定义的视图辅助器是怎么定义和使用的,对于Razor语法的细节和辅助器的使用下篇会说讲到, ...
- ASP.NET MVC之从控制器传递数据到视图四种方式(一)
前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...
- ASP.NET MVC (一、控制器与视图)
目录 前言: 1.MVC简介 2.项目创建:(这里使用工具为:Visual Studio 2019) 2.1.文件夹与文件夹介绍: 3.控制器 3.1.添加控制器 3.2.添加视图层 3.3.修改默认 ...
- [翻译]通过调用多个动作创建ASP.NET MVC视图
在ASP.NET MVC中,创建视图最典型的方式是调用一个action方法,它使用模型准备视图数据.action方法然后调用控制器的视图方法创建视图.然而,你可能想要调用不同的动作方法创建视图的不同部 ...
- ASP.NET MVC系列:添加控制器
基于MVC的应用程序包含三个部分 Models(模型):对应用程序的数据进行处理 Views(视图):动态生成HTML,显示数据 Controllers(控制器):应用程序中处理用户交互的部分,处理浏 ...
- ASP.NET MVC学习之控制器篇
一.前言 许久之后终于可以继续我的ASP.NET MVC连载了,之前我们全面的讲述了路由相关的知识,下面我们将开始控制器和动作的讲解. ASP.NET MVC学习之路由篇幅(1) ASP.NET MV ...
- 光脚丫学ASP.NET MVC(0005):控制器概述
光脚丫思考 QQ:524130780 邮箱:524130780@QQ.COM 博客:http://blog.csdn.net/GJYSK 视频演示:http://u.115.com/file/aqa2 ...
- ASP.NET MVC入门——添加控制器
MVC 代表 模型-视图-控制器. MVC 是用于开发应用程序的一种模式,该模式设计良好.可测试且易于维护. 基于 MVC 的应用程序包含: M 模式:类,这些类表示应用程序的数据,并使用验证逻辑来强 ...
最新文章
- web页面实现地图展示,可缩放,标点并点击---使用高德地图
- [SoapUI] 在Test Step 下加Script Assertion,用 messageExchange 获取当前步骤的response content...
- 放学默示录Ⅰ:来!抠奖 移动游戏策划案
- sql exist 优化查询时间
- bp 神经网络 优点 不足_深度学习之BP神经网络--Stata和R同步实现(附Stata数据和代码)
- dos插入mysql乱码
- 逐月对比的交叉表处理
- CentOS 7.5 重置 root 密码
- 将.sql文件导入数据库
- 从零开始学JavaScript——基础篇
- 计算机无线键盘没反应,电脑无线键盘没反应怎么回事
- Vector CANoe修改Panel的名字
- Vista 兼容软件列表
- 在Delphi中打印条码的方法步骤如下
- iOS监控-野指针定位
- HOW2J j2se实战小项目-记事本项目
- FPGA 顶层图纸.bdf文件设计、LPM
- 阿里暑期实习一面总结
- 酷派童年童装×××间
- 推荐一位好友,是他让我破了戒!