response.redirect和Server.Transfer的区别详解

redirect|response|server|区别|详解

  一般会使用response.redirect这条语句进行地址转向,ASP3.0以后提供了一种新的方法给我们,这种方法更加高效。让我们先来看看response.redirect和Server.Transfer分别是如何Run的!

  response.redirect其实上是当服务器碰到这条语句时发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求,请求response.redirect后面的那个新的http地址,流程如下:

  浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址(服务器返回的Response.Redirect后面的地址)这就是一个小小的Response.Redirect的全部过程,不看不知道,一看吓一条!它有这么多的过程,真恐怖... ...,而ASP3.0中的Server.Transfer语句当接受地址后是直接转向后面的地址,流程如下:

  浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件。

  Server.Transfer方法与Redirect方法相比另一个显著的优势是在页面转换时,Request集合里的内容不会丢失,这给我们编程带来很大的方便(具体的例子我就不举了,^_^)。

  一般的情况下尽可能用Server.Transfer方法(前提是服务器是IIS),Server.Transfer方法更快速,而且因为只在服务器上执行,所以可以和任何浏览器兼容。

时间: 2024-09-27 22:20:02

response.redirect和Server.Transfer的区别详解的相关文章

asp.net中Response.Redirect与Server.Transfer的区别分析

Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面.调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流. 如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换. Response.Redirect则是客户端第一次请求服务器返回状态代码302及

asp.net中Response.Redirect与Server.Transfer的区别分析_实用技巧

Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面.调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流. 如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换. Response.Redirect则是客户端第一次请求服务器返回状态代码302及

SQL2005版本区别详解(Enterprise,Development,Workgroup,Standard,Express)

development|enterprise|express|sql2005|standard|workgroup|区别|详解 早前就一直以为是自己的机子,或是其它什么原因的,可刚刚又在官方下了一次 SQL2005 Express ,在公司机子上安装好后,发现和家里的没啥不同.郁闷得紧,网上淘了一下才恍然大悟.真的想骂娘,没了「企业管理器」和「查询分析器」,那还提供下载干嘛?有个鸟用啊?!!!!! SQL2005 分五个版本,如下所列: 1.Enterprise(企业版) 2.Developme

SQL Server CHARINDEX和PATINDEX详解

server|详解 SQL Server CHARINDEX和PATINDEX详解        假如你写过很多程序,你可能偶尔会碰到要确定字符或字符窜串否包含在一段文字中,在这篇文章中,我将讨论使用CHARINDEX和PATINDEX函数来搜索文字列和字符串.我将告诉你这两个函数是如何运转的,解释他们的区别.同时提供一些例子,通过这些例子,你可以可以考虑使用这两个函数来解决很多不同的字符搜索的问题.        CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串.

Bind和Eval的区别详解

原文:Bind和Eval的区别详解 1.简单描述Eval和Bind的区别 绑定表达式 <%# Eval("字段名") %> <%# Bind("字段名") %> 区别 1.eval是只读数据,bind是可更新的.         2.当对次表达式操作时候,必须用Eval 如<%# Eval("字段名").ToString().Trim() %>         2.若GridView中绑定列里面 设置 内容格式

JSP中include指令和动作及区别详解

先来看看语法及比较 //include_ <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.get

SQL Server事务隔离级别详解

SQL Server事务隔离级别详解 标签: SQL SEERVER/MSSQL SERVER/SQL/事务隔离级别选项/设置数据库事务级别 SQL 事务隔离级别 概述      隔离级别用于决定如果控制并发用户如何读写数据的操作,同时对性能也有一定的影响作用. 步骤 事务隔离级别通过影响读操作来间接地影响写操作:可以在回话级别上设置事务隔离级别也可以在查询(表级别)级别上设置事务隔离级别.事务隔离级别总共有6个隔离级别:READ UNCOMMITTED(未提交读,读脏),相当于(NOLOCK)

表单中Readonly和Disabled的区别详解

 这篇文章主要介绍了表单中Readonly和Disabled的区别详解,十分的细致,全面,需要了解相关信息的小伙伴们快来仔细研究下吧     Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等. 但是表单

C#中string.Empty和null的区别详解

  这篇文章主要介绍了C#中string.Empty和null的区别详解,本文同时讲解了空字符串和Empty的区别以及string.Empty与null的区别,需要的朋友可以参考下 这是一个及其常见的问题,网上已经有关于这个问题的很多讨论.但是我觉得都是不求甚解,有一些还是在误导别人.下面我来说下我对这三者的理解,如有错误的地方请大家及时指正. 一:""与string.Empty我认为是一样的.网上有一篇被转载了几十遍的文章是这样说的string.Empty 不分配存储空间,"