mvc中的几个数据传递
1、ViewData对象
ViewBagData是一种字典集合数据同时属于视图基类和控制器基类的属性。
实例:
//控制器
public class HomeController:Controller
{
public ActionResult Index()
{
ViewData["data"]="Hello asp.net";
return View();
}
}
视图:
<h1><%=ViewData["data"]%></h1>
2、动态对象ViewBag
ViewBag是dynamic类型的对象,同事属于视图基类和控制器基类的属性。用法如下:
//控制器代码
public class HomeController:Controller
{
public ActionResult Index()
{
ViewBag.data="Hello asp.net";
return View();
}
}
<!--视图-->
<h1><%=ViewBag.data%></h1>
本质上,ViewBag是对ViewData数据的包装,,也就是使用ViewData保存数据,可以使用ViewBag读取,使用ViewBag保存的数据,也可以使用ViewData读取,例如
ViewData["data"]的数据,使用ViewBag.data也可以访问。
注意:同一个项目中,一般ViewData和ViewBag只是用一种,不要代码中同同时出现ViewData和ViewBag.
3、跨请求数据传递——TempData
TempData也属于字典类型在编码上于ViewData类似,但是他是完全独立的对对象,它保存的数据域Viewdata互不干扰
用法如下:
//控制器
public class HomeController:Controller
{
public ActionResult Index()
{
TempData["data"]="Hello asp.net";
return View();
}
}
//视图
<h1><%=TempData["data"]%></h1>
在开发中TempData主要是跨请求传递数据
public class HomeController:Controller
{
public ActionResult Index()
{
TempData["data"]="来自Index()的数据";
Response.Redirect("~/Home/Detail");
return View();
}
public ActionResult Detail()
{
return View();
}
}
//Detail.aspx视图
<h1><%=TempData["data"]%></h1>
在asp.net mvc系统中,TempData的保存机制实际上是可扩展的,它默认的保存机制是session。虽然TempData的保存机制是session,对于前一次的请求使用Temp
使用的Temp保存的数据,但是如何Temp中的数据被使用过(从视图中输出)接下来的请求将获取不到数据,再一次请求中,如何TempData数据被使用过,就会被清除
如果没有被使用过,那么他保存的时间是Session的生存期。
mvc中的几个数据传递的更多相关文章
- mvc中view与controll之间传递参数时,可以使用url进行传递
mvc中view与controller之间传递参数时,可以使用url进行传递,但是在url的地址中需要加上“id=123”这样的东西才行. 具体如代码: window.location.href = ...
- MVC中前台如何向后台传递数据------$.get(),$post(),$ajax(),$.getJSON()总结
一.引言 MVC中view向controller传递数据的时候真心是一个挺让人头疼的一件事情.因为原理不是很懂只看一写Dome,按葫芦画瓢只能理解三分吧. 二.解读Jquery个Ajax函数 $.ge ...
- Asp.Net Mvc 控制器与视图的数据传递
数据传递也就是控制器和视图之间的交互,比如在视图中提交的数据,在控制器怎么获取,或者控制器从业务层获得一些数据,怎么传递到视图中,让视图显示在客户端呢?带着这些疑问,我们接着看.. 下面 ...
- Spring MVC中Controller如何将数据返回给页面
要实现Controller返回数据给页面,Spring MVC 提供了以下几种途径: ModelAndView:将视图和数据封装成ModelAndView对象,作为方法的返回值,数据最终会存到Http ...
- APS.NET MVC + EF (04)---路由和数据传递
4.1 视图引擎 ASP.NET MVC 提供两种视图引擎:ASPX(C#)和Razor(CSHTML),推荐使用Razor. 4.1.1 Razor的语法 在Razor视图中,所有的服务器端代码都是 ...
- 【部分】Asp.Net Mvc 控制器与视图的数据传递
原文:https://www.cnblogs.com/lsgsanxiao/p/5105639.html 数据传递也就是控制器和视图之间的交互,比如在视图中提交的数据,在控制器怎么获取,或者控制器从业 ...
- JAVA中使用JSON进行数据传递
最近在做一个基于JAVA Servlet的WEB应用以及对应的Anroid应用客户端的开发工作. 其中,在接口的访问和数据的传输方面使用的比较多的是使用JSON对象来操作格式化数据:在服务器端采用JS ...
- ASP.NET中实现页面间数据传递的方法
说到页面间数据传递,很多人都会想到通过像Session这样的全局变量,但是向Session中添加的东西太多会增加服务器的压力,页面间数据传递,数据的作用范围越小越好. ASP.NET页面间数据传递 ...
- 转载:JAVA中使用JSON进行数据传递
转载网址:http://www.cnblogs.com/undead/archive/2012/07/18/2594900.html 最近在做一个基于JAVA Servlet的WEB应用以及对应的An ...
随机推荐
- 射频识别技术漫谈(27)——CPU卡概述
智能卡按安全级别可以分为三类:存储器卡.逻辑加密卡和CPU卡,其中CPU卡是安全级别最高的.从“CPU”这个名字可以看出,CPU卡最大的特点就是卡片里面有一个"CPU",有了CPU ...
- [置顶] LED办公楼宇照明节能方案及城市夜景照明节能方案
LED照明办公楼宇节能方案 .通用标准灯头,可直接替换现有卤素灯.白炽灯.荧光灯.
- vs c++配置opencv(1)
环境: vs2013 opencv2.4.13 准备工作: 1.安装opencv. opencv各版本间存在API差异,opencv提供相应版本的vc文件,在其安装目录 ..opencv\build\ ...
- http://blog.csdn.net/baimafujinji/article/details/10931621
书接上文,本文章是该系列的第二篇,按照总纲中给出的框架,本节介绍三个中值定理,包括它们的证明及几何意义.这三个中值定理是高等数学中非常基础的部分,如果读者对于高数的内容已经非常了解,大可跳过此部分.当 ...
- C#--遍历目录实例
鉴于前面几篇博客都说了,这边就啥都不说了.直接就開始贴代码了. 1.控件解释: FolderBrowserDialog控件一个----用来显示"浏览目录"对话框 TextBox控件 ...
- 百度——LBS.云 v2.0——云存储的POI创建和删除--Android 源码
如有疑问请联系:QQ936467727 需要注意的几点问题: 1.密钥是http://lbsyun.baidu.com/apiconsole/key申请的,密钥类型是浏览器端 2.geotable_i ...
- [cocos2d-x]用CCSpriteBatchNode进行文理贴图的优化
引言: 我们在进行手机游戏开发的过程中,由于手机的内存资源是有限的,那么对纹理贴图的优化是非常有必要的,有可能相同的功能,优化的好与不好对内存资源的消耗是非常明显的,下面我就用一个例子来说明一下. 说 ...
- .NET使用NPOI组件将数据导出Excel
.NPOI官方网站:http://npoi.codeplex.com/ 可以到此网站上去下载最新的NPOI组件版本 2.NPOI在线学习教程(中文版): http://www.cnblogs.com/ ...
- linux: telnet
问题: telnet: connect to address 192.168.1.103: Connection refused 总结:{ 1. 需要开启telnet服务, /etc/xinetd.d ...
- jz2440: linux/arch/arm/下面的plat-和mach-
jz2440: linux/arch/arm/下面的plat和mach plat-s3c24xxmach-s3c2440mach-s3c2410 ====================== 1. 三 ...