Asp.net页面间传值方式汇总
七种传值方式,分别是:URL传值,Session传值,Cookie传值,Server.Transfer传值,Application传值,利用某些控件的PostBackUrl属性和使用@PreviousPageType指令传值。
一.传值方式简单汇总
传值方法名称 |
传值方式 |
优缺点 |
URL传值 (QueryString传值) |
2种传值方式。 1、超级链接文本进行传值;2、调用HttpResponse对象的Redirect方法 |
优点:一般用于传递的值少,安全性较低; 缺点:传递的值是会显示在浏览器的地址栏上的,而且不能传递对象 |
Session传值 |
把控件中的值存在Session变量中,然后在另一个页面中使用它,以不同页面间实现值传递的目的。 |
优点:将每份数据存储于服务器变量中,可以传递比较多的数据;安全性较高 缺点:Session变量如果存储过多的数据会消耗过多的服务器资源; |
Cookie传值 |
比较特殊的数据存储方式,因为这种方式将数据存储于浏览用户的电脑中,以文本文件的形式存在于磁盘中 |
优点:很多登录系统就是利用Cookie实现用户自动登录。即用户登录一次的登录信息将被写入到用户电脑的Cookie文件中,下次登录时,网站自动读取该Cookie完成身份验证。 缺点:有些浏览器不支持Cookie传值,安全性不高 |
Server.Transfer传值 |
使用该方法可以在另一个页面以对象属性的方式来存取显露的值,但还需要额外写一些代码以创建一些属性以便可以在另一个页面访问它 Transfer只适合于服务器端重定向的页面。 |
优点:使用这种方法是简洁的同时又是面向对象的。使用该方法编程者可以在另一个页面以公开对象属性的方式来存取值。 缺点:操作步骤较多 |
Application传值 |
通过HttpApplication对象在服务器端生成一个状态变量来存储所需的信息,该HttpApplication对象变量的可用范围覆盖整个WEB应用程序,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。 |
该对象一般存储一些要公布的信息,如在线人数等,而对于那些涉及用户个人的敏感数据则不用这种方法存储。 |
利用某些控件的PostBackUrl属性 |
主要是设置控件的“PostBackUrl”属性, |
优点:更加快捷,并减少了处理步骤。 |
使用@PreviousPageType指令 |
用于批定跨页面的传送过程起始于哪个页面.包含两个属性: TypeName:设置回送时的派生类名;VirtualPath:设置回送时所传送页面的地址. |
这个指令是.net 2.0中的一个新指令,用于处理ASP.NET 2.0提供的跨页面传送新功能。 |
二.简单比较
1.Session与Cookie
相同点:存储传递值,是对每一个用户而言的;
不同点:Cookie存放在客户端;Session存放在服务器端,而且Cookie的使用要配合
ASP.NET内置对象Request来使用。
2.Session与Application
相同点:Application通过HttpApplication对象传值的方法与Session的传值方法相似;
不同点:Session是对于每个单独的用户,当该用户关闭浏览器,则Session失效。HttpApplication对象存储的变量是针对所有访问程序的用户,即使有用户关闭了浏览器,变量的值不会丢失。
3.利用某些控件的PostBackUrl属性与 Server.Transfer传值
相同点:跨页面传送和调用HttpServerUtility对象的Transfer方法有相似之处,不过效率更高;
不同点:因为调用HttpServerUtility对象的Transfer方法是基于服务器的方法,而跨页面传送是基于浏览器端的。
三.总结
.NET传值,看起来方法挺多,但是真要应用的时候,还是要有针对性,考虑你做的系统的功能需求,安全性等方方面面,不是找最简单最方便的方法,而是要找最适合做你这个项目的方法,中国的中庸之道,“平衡”就好。
(附)Asp.Net页面生命周期:
页请求(浏览器的请求)-开始-页初始化-加载-验证-回发事件处理-呈现-卸载
转自: ASP.NET页面传值方式汇总
Asp.net页面间传值方式汇总的更多相关文章
- asp.net页面间传值方式
使用asp.net开发项目,必然会在页面间进行传值,本文介绍几种常见的页面传值方式,仅作笔记,以便后续查找使用. 前提:新建两个页面:ValuePage.aspx,ObtainValue.aspx,本 ...
- ASP.NET页面间传值的几种方式
ASP.NET页面间传值的几种方式 1.使用QueryString 使用QuerySting在页面间传递值已经是一种很老的机制了,这种方法的主要优点是实现起来非常简单,然而它的缺点是传递的值是会显示在 ...
- ASP.NET页面间传值总结
本文我们将讨论的是ASP.NET页面间数据传递的几种方法,对此希望能帮助大家正确的理解ASP.NET页面间数据传递的用处以及便利性. Web页面是无状态的,服务器对每一次请求都认为来自不同用户,因此, ...
- ASP.Net页面间传值
一.目前在ASP.NET中页面传值共有这么几种方式: 1.表单提交, <form action= "target.aspx" method = "post&qu ...
- Asp.Net页面间传值常见的几种方法
一.QueryString QueryString是一种非常简单的传值方式,他是将传送的值显示在浏览器的地址栏中.如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法.但是对于传递 ...
- asp.net页面间传值的几种方法
表单提交 传送页面代码 <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server ...
- ASP.NET 页面之间传值的几种方式
开篇概述 对于任何一个初学者来说,页面之间传值可谓是必经之路,却又是他们的难点.其实,对大部分高手来说,未必不是难点. 回想2016年面试的将近300人中,有实习生,有应届毕业生,有1-3年经验的,有 ...
- 【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式
ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...
- iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)
iOS页面间传值实现方法:1.通过设置属性,实现页面间传值:2.委托delegate方式:3.通知notification方式:4.block方式:5.UserDefault或者文件方式:6.单例模式 ...
随机推荐
- Spark机器学习5·回归模型(pyspark)
分类模型的预测目标是:类别编号 回归模型的预测目标是:实数变量 回归模型种类 线性模型 最小二乘回归模型 应用L2正则化时--岭回归(ridge regression) 应用L1正则化时--LASSO ...
- 优秀 H5 案例收集 vol.3(不定期更新)
上期浏览:Vol.1 Vol.2 爱的不同定义,五笔连成爱http://news.163.com/special/fdh5_valentines/ 世界华语悬疑文学大赛—下一位悬疑大师,就是你!h ...
- Android LCD
Android LCD(一):LCD基本原理篇Android LCD(二):LCD常用接口原理篇Android LCD(三):Samsung LCD接口篇Android LCD(四):LCD驱动调试篇
- 20145222黄亚奇《网络对抗》MSF基础应用
实践目标 掌握metasploit的基本应用方式. 具体需要完成(1)ms08_067;(2)ms11_050:(3)Adobe(4)成功应用任何一个辅助模块. 实验内容 掌握metasploit的基 ...
- 《React-Native系列》3、RN与native交互之Callback、Promise
接着上一篇<React-Native系列>RN与native交互与数据传递,我们接下来研究另外的两种RN与Native交互的机制 一.Callback机制 首先Calllback是异步的, ...
- H3C交换机配置镜像端口
配置步骤 进入配置模式:system-view: 创建本地镜像组:mirroring-group 1 local 为镜像组配置源端口:mirroring-group 1 mirroring-port ...
- 在Linux上使用Wine安装轻聊版的QQ的步骤讲解
准备 Wine 环境 wine 版本要求,越新越好,我用的 1.7.55,目前最新是1.8rc2. 删除或者备份你的 ~/.wine,如果你之前运行过 wine 的话.因为涉及到少量配置,尽量不要让以 ...
- [Bzoj]5343: [Ctsc2018]混合果汁
5343: [Ctsc2018]混合果汁 题目描述 小 R 热衷于做黑暗料理,尤其是混合果汁. 商店里有 \(n\) 种果汁,编号为 \(0,1,\cdots,n-1\) .\(i\) 号果汁的美味度 ...
- 前端人脸识别框架Tracking.js与JqueryFaceDetection
这篇文章主要就介绍两种前端的人脸识别框架(Tracking.js和JqueryFaceDetection) 技术特点 Tracking.js是使用js封装的一个框架,使用起来需要自己配置许多的东西,略 ...
- ssm框架搭建流程及原理分析
这几天自己想搭建个ssm框架玩一下,有些东西长时间不玩都给忘了,所以自己把整个流程整理了一下,只要跟着步骤,就能顺利完成ssm框架的搭建. 一.搭建步骤: 1.整理jar包 2.对于一个web ...