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 ...
随机推荐
- linux和windows的文件互传
Linux →→→Windows 1.使用secureCRT:下载文件只需在shell终端仿真器中输入命令"sz 文件名",即可利用Zmodem将文件下载到本地某目录下. 2. s ...
- linux cpu亲和性设置
1.设置进程的cpu亲和性程序如下, #Using:g++ setCpuAffinity.c -o setCpuAffinity #include<sys/types.h> #includ ...
- 8,SSO,,eager copy,COW
针对字符串不同的长度,“编译器”选择不同的优化策略:SSO, eager copy,COW,分别针对短字符串,中等长度字符串,长字符串.不过,现在(2016)的大多数编译器(gcc 4.9.1,vs2 ...
- java循环HashMap两种方法的效率比较
一.循环HashMap的两种方式 方式1: Iterator<Entry<String, String>> entryKeyIterator = entrySetMap.ent ...
- Hibernate_13_QBC查询
Employee类.Department类.SessionFactoryTools类.Employee.hbm.xml文件.Department.hbm.xml文件.Hibernate.cfg.xml ...
- SPOJ LCS(Longest Common Substring-后缀自动机-结点的Parent包含关系)
1811. Longest Common Substring Problem code: LCS A string is finite sequence of characters over a no ...
- hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动
JDK 在Ubuntu下的安装 与 环境变量的配置 前期准备工作: 找到 JDK 和 配置TXT文件 并拷贝到桌面下 不是目录 而是文件拷贝到桌面下 以下的命令部分就直接复制粘贴就能够了 1.配 ...
- [LeetCode] Longest Substring Without Repeating Characters (LinkedHashSet的妙用)
Given a string, find the length of the longest substring without repeating characters. For example, ...
- Java自定义简单标签
Java自定义简单标签可以方便的在页面输出信息,并且对于权限的控制,和对于Jsp标签和servlet代码的分离有着很好的作用. 下面将以权限的控制为例自定义一个标签: 一.标签类型 <wxt: ...
- Node.js入门-Node.js 介绍
Node.js 是什么 Node.js 不是一种独立的语言,与 PHP,Python 等"既是语言优势平台"不同,它也不是一个 JavaScrip 框架,不同于 CakePHP,D ...