Server的Transfer和Response的Redirect
在实现页面跳转的时候,有些人喜欢用Response.Redirect,而有些人则喜欢用Server.Transfer。大部分时间似乎这两种方法都可以实现相同的功能,那究竟有区别吗?
查了些文档,发现两者区别还是很明显的。根本上,Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:
1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活;
2. Server.Transfer可以将页面参数方便传递到指定页面;
3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;
4. Server.Transfer可以减少客户端对服务器的请求;
======================================
ransfer:
可靠编程
转移的目标页应是同一应用程序中的另一 Web 窗体页(.aspx 页)。不能使用 Server.Transfer 重定向到 .asp 或 .asmx 页。
确保目标页存在。
因为 Server.Transfer 是在服务器上执行的,所以浏览器没有页更改的记录。因此,如果用户刷新此页,则可能会产生意外的结果。
Redirect:
可靠编程
Redirect 方法是通过浏览器执行的,因此在服务器和浏览器之间产生额外的往返过程。
确保目标页存在。
安全性
由于该方法是通过客户端执行的,所以容易被欺骗和篡改。
==========================================
Server.Transfer跳转页面的状态与Response.Redirect类似。
但是它们之间还是有一些差别的。
首先,用Server.Transfer迁移到另一个页面保持着服务资源。
而不是简单的通知浏览器服务端换了个页面并迁移请求。这
意味着你不需要携带更多的Http请求,因此可以减轻服务端的
压力而使你的应用运行得更快。
但是,注意:因为"Transfer"过程只能在那些在同一服务端的
站点上,你不能使用Server.Transfer使用户跳转到外部的站点。
这点只有Response.Redirect能做到。
第二,Server.Transfer维持着浏览器原始的URL,这对于流线
型的数据入口技术,虽然它有可能导致调试的时候的数据混乱
还有,Server.Transfer方法还有二个参数的重载方法——
"preserveForm"如果你将其设置为True(默认情况是False),
使用一个状态比如:Server.Transfer("WebForm2.aspx", True),
现存的请求字符串和所有的Form里的变量将被保持并提交到你的
目标页。
但是必须注意的是,这里有一个奇怪的Bug(微软为什么有这样
的Bug)。当你使用两个参数的重载方法试图迁移form和请求字符
串的时候会有可能产生错误。
非官方的解决办法是将要被跳转的画面的enableViewStateMac
的属性设置为 True , 然后再设回 False.
Server的Transfer和Response的Redirect的更多相关文章
- 1. Server.Transfer和Response.Redirect
今天在使用ServerTransfer和Response.Redirect定位到当前页面来实现刷新页面时,发现了一些现象: 1.使用Response.Redirect刷新本页面,造成当前页面显示的数据 ...
- Server.Transfer VS Response.Redirect – Simplified
https://www.codeproject.com/Articles/775221/Server-Transfer-VS-Response-Redirect-Simplified Introduc ...
- ASP.NET页面传值之Server.Transfer 和Response.Direct
先看实例: B.apsx: public string TextBox1Text { get { ...
- 502 Proxy Error The proxy server received an invalid response from an upstream server
Proxy Error The proxy server received an invalid response from an upstream server. The proxy server ...
- tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理
tengine2.2.3报错502的The proxy server received an invalid response from an upstream server问题处理 现象:访问订单的 ...
- How To Configure SAMBA Server And Transfer Files Between Linux & Windows
If you are reading this article it means you have a network at home or office with Windows and Linux ...
- Server.Transfer 和 Response.Redirect 用法区别
在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻 ...
- Server Transfer()和Response.Redirect()的使用
一.Server Transfer() Server.Transfer:对于当前请求,终止当前页的执行,并使用指定的页url路径来开始执行一个新页. 1. Server.Transfer只能够转跳到本 ...
- Server.Transfer和Response.Redirect区别
根本上,Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Resp ...
随机推荐
- Generating Faces with Deconvolution Networks
用深度学习做人脸合成,website:https://zo7.github.io/blog/2016/09/25/generating-faces.html 受启发于 Learning to Gene ...
- [妙味 DOM] 第二课:DOM、BOM相关方法及属性
知识点总结 获取样式.增加样式.删除样式函数的封装 表格 tHead tBodies tFoot rows 行 cells 列 表单 表单可以通过name来获取元素:表单.name值 onchange ...
- thinkphp u 方法
public function test(){ $this->display();echo U('Index/test',array('id'=>1),false,'localhost') ...
- Animate.css让添加CSS动画像喝水一样容易
在这个年代,你要是不懂一点点css3的知识,你都不好意思说你是个美工.美你妹啊,请叫我前端工程师好不好.呃..好吧,攻城尸...呵呵,作为一个攻城尸,没有点高端大气上档次的东西怎么能行呢,那么css3 ...
- java中三大修饰符
一.static 1.属性:类变量 定义在类以内,方法以外,全类有效,全类公共一个属性 类变量与创建对象无关,有默认值0 使用方式 类名.类变量 System.out.println(); ...
- BZOJ3963: [WF2011]MachineWorks
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3963 CDQ分治加凸包.具体看这篇题解:http://www.acmerblog.com/ ...
- Java 泛型 协变性、逆变性
Java 泛型 协变性.逆变性 @author ixenos 摘要:协变性.协变通配符.协变数组.协变返回值 协变性.逆变性和无关性 在面向对象的计算机程序语言中,经常涉及到类型之间的转换,例如从具体 ...
- navicat导出表结构-->导入powerdesigner
01 转储sql文件-->导出表结构和数据 02数据传输--高级--插入记录(去掉)-->只导出表结构 目标-->001连接---->把数据导入指定ip的数据表中 目标--&g ...
- 1、Web应用程序中的安全向量 -- XSS跨站脚本攻击
XSS攻击(跨站脚本攻击)的概念: 用户通过网站页面的输入框植入自己的脚本代码,来获取额外的信息. XSS的实现方式: (1)通过用户将恶意的脚本命令输入到网站中,而这些网站又能够接收"不干 ...
- UVA 624 CD (01背包)
//路径记录方法:若是dp[j-value[i]]+value[i]>dp[j]说明拿了这个东西,标志为1, //for循环标志,发现是1,就打印出来,并把背包的容量减少,再在次容量中寻找标志: ...