ASP.NET页面之间数据传递的几种方法

1)Request.QueryString
   在ASP时代,这个是较常用的方法,到了ASP.NET,好像用的人不多了,但是不管怎么说,这是一个没有过时,且很值得推荐的方法,因为不管是ASP还是ASP.NET,最基本的都还是基于HTTp协议的。 缺点是非常明显的,让在多个页面传递时,可能就Request不到了

2)Session
   这个是最常用的一个方法,Session的优点是使用简单,缺点是占用服务器资源,因为每一个Session都意味这服务器需要维护相应客户的会话信息,自然如果登录的用户多了,那么将非常占用服务器资源。另外Session还有一个缺点,默认的如果你登录后20分钟内没有任何动作,服务器自动会取消该会话,所以那时你又需要登录。
PS。这里使得我想起一个事情,前几天有一个公司让我看了一段代码,在登录时,就是使用Session记录用户登录的,My GOD,微软知道了肯定要吐血!!它辛辛苦苦给你提供的web.config里的配置 <deny user="*"/> 就要这一个配置,你不用,仍然用ASP时代的Session,岂不是浪费了MS的一片苦心

3)Application
   这个在ASP时代还是比较常用的,主要用去存储全局变量,例如数据库链接信息,到了ASP.NET时代,用的不多,至少我好象一直没有用过。

4)Cookie
   这个是我的最爱,Cookie最大的特点是由客户端维护,不用占用服务器资源,而且你可以设定用户登录时,Cookie的有效期,例如一天,这样在一天内你不用担心系统再让你登录。当然Cookie也有缺点,那就是安全性,因为Cookie在客户端,确实有些软件可以分析Cookie的登录信息,所以你写入Cookie的内容不要过于敏感,例如不要存储密码,还有作为安全,写入Cookie的内容最好要加密。

5)Viewstate 
   ASP.NET新增的,Viewstate使用简单,缺点是只能够在同一个页面使用,在ASP.NET2.0里这个问题可以使用Button的PostBackUrl进行结果。

6)Cache
  使用Cache存储数据还想不多,但是毕竟也是一种手段,另外,在使用Cache存储DataSet时,其实还是引用而不是内容的拷贝。

时间: 2024-10-13 01:14:50

ASP.NET页面之间数据传递的几种方法的相关文章

ASP.NET页面间数据传递的方法

本文我们将讨论的是asp.net页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. 引言 Web页面是无状态的, 服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法

详细介绍ASP.NET页面间数据传递的使用方法

在ASP.NET中,页面间数据传递的方法有很多.下面为大家总结一下,页面间数据传递的方法. Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此,变量的状态在连续对同一页面的多次请求之间或在页面跳转时不会被保留.在 用ASP.NET 设计开发一个Web系统时, 遇到一个重要的问题是如何保证数据在页面间进行正确.安全和高效地传送,Asp.net 提供了状态管理等多种技术来解决保存和传递数据问题,以下来探讨.NET 下的解决此问题的各种方法和各自的适用场合. 一.ASP.NET页面间数据

Android 页面之间数据传递方式有几种?各有何优势

如果页面之间有直接关系,如Activity和在它之内的Fragment,可以直接通过接口的调用来传递数据.优势:直接,方便. 劣势:代码耦合性较高 如果是两个Activity之间传递数据,有界面切换的过程的话,可以用startActivity或startActivityForResult.用其中的intent参数携带数据.优势:一般用于初始化Activity和调用系统功能 如果页面之间传递数据没有页面切换的过程,可以通过广播的方式,sendBroadcast(intent);要接受数据的页面注册

Android数据传递的五种方法汇总

Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示,在例子中每一个按纽代表了一种实现方法. 1. 利用Intent对象携带简单数据 利用Intent的Extra部分来存储我们想要传递的数据,可以传送int, long, char等一些基础类型,对复杂的对象就无能为力了.         1.1 设置参数 [java] view plaincopy //传

ASP.NET页面之间传递值的几种方式

页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookies,Application,Server.Transfer 一.QueryString QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递数组或对象的话,就不能用这个方法了.

ASP.NET页面之间传递值(4):Server.Transfer

这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效. Server.Transfer是从当前的ASPX页面转到新的ASPX页面,服务器端执行新页并输出,在新页面中通过 Context.Handler来获得前一个页面传递的各种数据类型的值.表单数据.QueryString.由于重定向完全在服务器端完成,所以客户端 浏览器中的URL地址是不会改变的.调用Server

ASP.NET页面之间传递值(2):Session

想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽. 优点:1.使用简单,不仅能传递简单数据类型,还能传递对象. 2.数据量大小是不限制的. 缺点:1.在Session变量存储大量的数据会消耗较多的服务器资源. 2.容易丢失. 使用方法:1.在源页面的代码中创建你需要传递的名称和值构造Session变量:Session["Name"]="Value(Or Object)"; 2.在目

ASP.NET页面之间传递值(5):Application

Application对象的作用范围是整个全局,也就是说对所有用户都有效.它在整个应用程序生命周期中都是有效的,类似于使用全局变量一样,所 以可以在不同页面中对它进行存取.它和Session变量的区别在于,前者是所有的用户共用的全局变量,后者是各个用户独有的全局变量. 可能有人会问,既然所有用户都可以使用application变量,那他可以用在什么场合呢?这里举个例子:网站访问数.多个请求访问时都可以对它进行操作. 优点:1.使用简单,消耗较少的服务器资源. 2.不仅能传递简单数据,还能传递对象

ASP.NET 页面之间传递值的几种方式

1.使用QueryString,  如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer4.Application 5.<input type="hidden"></input> 6.数据库 使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在浏 览器的地址栏上的(不安