黑马程序员技术交流社区

标题: 列举ASP.NET 页面之间传递值的几种方式? [打印本页]

作者: 阮佳佳    时间: 2012-12-24 16:55
标题: 列举ASP.NET 页面之间传递值的几种方式?
列举ASP.NET 页面之间传递值的几种方式,他们各有什么区别呢?
作者: 王继光    时间: 2012-12-24 17:16
Get
Post
ViewState
cookie
Session
Transfer

作者: 快乐之恋    时间: 2012-12-24 18:00
URL、Session、Cookies、Server.Transfer、Application和跨页面传送。
URL传值
这是经典的传值方式,这种方法的使用非常简单,不过所传递的值是会显示在浏览器的地址栏上的,而且不能传递对象。所以这种方法一般用于传递的值少且安全性要求不高的情况下
这种方法将每份数据存储于服务器变量中,可以传递比较多的数据,并且安全性较高,所以常用于用户身份的验证功能中。不过,Session变量如果存储过多的数据会消耗过多的服务器资源
Cookie是一种比较特殊的数据存储方式,因为这种方式将数据存储于浏览用户的电脑中,以文本文件的形式存在于磁盘中。这种方式非常有意思,很多登录系统就是利用Cookie实现用户自动登录。即用户登录一次的登录信息将被写入到用户电脑的Cookie文件中,下次登录时,网站自动读取该Cookie完成身份验证。通过Cookie传递数据虽然很方便,保存时间可以自由设置,但是安全性不高,编程者不应过于依赖Cookie,而应采用结合的方式完成敏感数据的存储。
ASP.NET中操作Cookie的主要类型位于System.Web命名空间下,分别为HttpCookie、HttpResponse以及HttpRequest。HttpCookie可建立和操作独立Cookie的安全类型,访问HttpResponse和HttpRequest的Cookies属性可以获取HttpCookieCollection集合对象,以读取或添加HttpCookie对象。
4.Server.Transfer传值
这个方法的步骤相对较多,使用该方法编程者可以在另一个页面以公开对象属性的方式来存取值,使用这种方法是面向对象的。该方法的代码编写并不复杂,首先通过定义一个public权限的属性,该属性可返回所需传递的值。然后在第两个页面中,使用Context.Handler属性来获得前一个页面实例对象的引用,即可通过访问自定义的属性获取需要的值。

作者: 鲜学良    时间: 2012-12-25 12:36
页面之间传值其实太多了,除了get,post,cookie,session,application等也可以通过文件或者是数据库来传值的。因为在页面加载的时候可以去读文件或查询数据库的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2