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.单例模式 ...
随机推荐
- 拓扑排序(附LeetCode题目)
算法期中考到一题关于拓扑序的题目,觉得很值得一写. 1.什么是拓扑序? 对一个有向无环图进行拓扑排序,假如图中存在一条从顶点A到顶点B的路径,则拓扑序中顶点A出现在顶点B的前面.要注意的是,这是对有向 ...
- bzoj 2748: [HAOI2012]音量调节
2748: [HAOI2012]音量调节 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 872 Solved: 577[Submit][Status] ...
- vim终端复制_不开启xterm_clipboard的解决方式
后来发现了另外的方法,比这个更好==> 完美解决vim在终端不能复制的问题 http://www.cnblogs.com/cheerupforyou/p/6958695.html 使用xsehl ...
- SpringBoot2.0+ElasticSearch网盘搜索实现
1.ES是如何实现分布式高并发全文检索 2.简单介绍ES分片Shards分片技术 3.为什么ES主分片对应的备分片不在同一台节点存放 4.索引的主分片定义好后为什么不能做修改 5.ES如何实现高可用容 ...
- python学习笔记(excel中处理日期格式)
涉及到处理excel文件中日期格式数据 这里自己整理下 两种方法 代码如下: @classmethod def get_time(cls, table, nrows): testtime = [] f ...
- Linux:安装Zookeeper
1.下载 wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz ...
- lightoj1234调和级数+欧拉常数
数据比较小时直接算,数据比较大时用公式1+1/2+...+1/n=inn+C+1/(2*n) ,C是欧拉常数0.5772156649 刚开始用的这个1+1/2+...+1/n=in(n+1)+C, ...
- bash echo color
原文:https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux $ ; i ...
- 第七届蓝桥杯C-B-10-最大比例/gcd变形
最大比例 X星球的某个大奖赛设了M级奖励.每个级别的奖金是一个正整数.并且,相邻的两个级别间的比例是个固定值.也就是说:所有级别的奖金数构成了一个等比数列.比如:16,24,36,54其等比值为:3/ ...
- 牛客比赛-Wannafly9-A/B/C
A-链接:https://www.nowcoder.com/acm/contest/71/A来源:牛客网 给定n个正整数,请找出其中有多少个数x满足:在这n个数中存在数y=kx,其中k为大于1的整数 ...