`
touchinsert
  • 浏览: 1351995 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Response.Redirect和Server.Transfer(Execute)的区别小论集锦

 
阅读更多

1、 浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址

2、 浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件切换对象:

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

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

1Response.Redirect可以切换到任何存在的网页。

1、 Server.Transfer只能切换到同目录或者子目录的网页。资料保密:

1、 Response.Redirect后地址会变成跳转后的页面地址。

2、 Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有资料保密功能。传递的资料量(网址后附带的参数):

1、 Response.Redirect能够传递的资料以2KB为限。

2、 传递的资料超过2KB时,务必使用Server.Transfer

Response.Redirect方法导致浏览器链接到一个指定的URL。当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代码302(表示目标已经改变)以及新的目标URL。浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求。 这就是说,使用Response.Redirect方法时复位向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面的请求,得到一个302应答,第二次是请求302应答中声明的新页面,得到复位向之后的页面。   
Server.Transfer方法把执行流程从当前的ASPX文件转到同一服务器上的另一个ASPX页面。调用Server.Transfer时,当前的ASPX页面终止执行,执行流程转入另一个ASPX页面,但新的ASPX页面仍使用前一ASPX页面创建的应答流。如果用Server.Transfer方法实现页面之间的导航,浏览器中的URL不会改变,因为复位向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换。默认情况下,Server.Transfer方法不会把窗体数据或查询字符串从一个页面传递到另一个页面,但只要把该方法的第二个参数设置成True,就可以保留第一个页面的窗体数据和查询字符串。同时,使用Server.Transfer时应注意一点:目标页面将使用原始页面创建的应答流,这导致ASP.NET的机器验证检查(Machine Authentication CheckMAC)认为新页面的ViewState已被篡改。因此,如果要保留原始页面的窗体数据和查询字符串集合,必须把目标页面Page指令的EnableViewStateMac属性设置成False

说到server. transfer,就不得不说server. execute,主要的区别在于,server. execute在第二个页面结束执行后,还会返回第一个页面继续处理。

server.transferserver.execute也是有局限性的,他们只能redirect到同一个web application的页面中去,而且,这个过程对client端是透明的。

分享到:
评论

相关推荐

    asp.net 页面转向 Response.Redirect, Server.Transfer, Server.Execute的区别

    你可以使用下面的代码将用户引导到另一个页面: Response.Redirect(“WebForm2.aspx”) 或者 Response.Redirect(“http://www.cnnas.com/”) Server.Transfer 也是通过一条语句将用户引导到另一页面,比如:Server....

    ASP.NET 重定向的几种方法小结

    本文主要总结了三种 ASP.NET 中的重定向方法:Server.Transfer、Server.Execute 和 Response.Redirect。 1. **Server.Transfer方法**: Server.Transfer方法在服务器端执行,它停止当前页面的处理并立即开始处理...

    ASP.NET四种页面导航方式的比较与选择

    在ASP.NET中,常见的四种页面导航方式包括超级链接、Response.Redirect、Server.Transfer和Server.Execute。以下是对这四种方式的详细分析: 1. **超级链接**: 超级链接是最基础的导航方式,通过HTML的`<a>`标签...

    【ASP.NET编程知识】ASP.NET MVC页面重定向简单介绍.docx

    本文主要探讨了ASP.NET MVC框架中几种不同的页面重定向方法,包括Response.Redirect、Server.Transfer和Server.Execute,以及如何根据实际需求选择合适的方法。 1. Response.Redirect: Response.Redirect是客户端...

    ASP.NET四种页面导航方式之比较与选择

    本文将深入探讨四种主要的页面导航方式:超级链接、Response.Redirect、Server.Transfer和Server.Execute,分析它们的特点、优缺点以及适用场景。 一、超级链接 超级链接是最直观、最基础的页面导航方式。HTML中的`...

    asp.net跳转页面的三种方法比较

    ### ASP.NET中页面跳转的三种方法:Response.Redirect、Server.Transfer与Server.Execute 在ASP.NET开发过程中,页面跳转是一项非常常见的操作。根据不同的应用场景,可以选择不同的方式来实现页面跳转,主要有`...

    ASP.NET跳转页面3种方法比较

    本文将深入探讨ASP.NET中实现页面跳转的三种主要方法:`Response.Redirect`、`Server.Transfer`和`Server.Execute`,并分析它们各自的优缺点及适用场景。 ### 1. Response.Redirect `Response.Redirect`是最常用的...

    asp.net网页跳转七种方法小结

    `Server.Transfer`和`Server.Execute`适用于应用程序内部的跳转,且能够保留更多的上下文信息;而JavaScript相关的跳转方法则提供了更灵活的客户端控制能力。在实际应用中,理解并熟练掌握这些技术对于构建高效、...

    C#中所有页面跳转方式

    - `Server.Execute`执行的目标页面不应包含`<html>`和`<body>`标签。 - 执行的目标页面不能被缓存。 #### 4. 使用`Response.Redirect`方法 `Response.Redirect`是最常见的页面跳转方式之一,它可以跳转到任何URL。...

    【ASP.NET编程知识】ASP.NET笔记之 Request 、Response 与Server的使用.docx

    在 ASP.NET 中,Request、Response 和 Server 是三个非常重要的对象,它们分别负责处理客户端请求、响应客户端请求和提供服务器相关的功能。 一、Request 对象 Request 对象是 ASP.NET 中的一个内置对象,它负责...

    asp.net(c#)网页跳转七种方法

    2.Server.Transfer 方法 Server.Transfer 方法可以将用户从一个页面跳转到另一个页面,但是这两个页面必须在同一个服务器上。这个方法可以保留表单数据和查询字符串。 Server.Transfer("Default2.aspx?name=...

    ASP.NET中的四种导航方式

    本文将详细介绍ASP.NET中常用的四种导航方式:HTML超链接、`Response.Redirect`、`Server.Transfer`以及`Server.Execute`。每种方法都有其独特的应用场景和优缺点。 #### 一、HTML超链接 HTML超链接是最基本的导航...

    ASP.NET页面跳转

    ### ASP.NET 页面跳转的详细解析与应用 ...无论是服务器端的`Response.Redirect()`和`Server.Transfer()`,还是客户端的`<a>`标签和JavaScript,理解并熟练掌握这些技术,对于构建高质量的ASP.NET应用至关重要。

    C#跳转网页7种方法

    对于showModalDialog和showModelessDialog的区别,showModalDialog提供了一个阻塞式对话,直到关闭对话框才能继续操作主窗口;而showModelessDialog允许用户在对话框与主窗口之间自由切换。若希望这两个方法的链接不...

    asp.net(c#)网页跳转七种方法小结

    下面将详细介绍ASP.NET中三种主要的页面跳转方法:Response.Redirect、Server.Execute和Server.Transfer。 1. Response.Redirect Response.Redirect是最常用的页面跳转方式,它通过向浏览器发送一个HTTP 302重定向...

    ASPNET跳转网页7种方法

    对于 `showModalDialog` 和 `showModelessDialog`,它们的主要区别在于: - `showModalDialog` 提供阻塞式体验,用户必须先处理对话框,不能与主窗口交互。 - `showModelessDialog` 允许用户在对话框和主窗口间自由...

    ASP.NET(c#)网页跳转七种方法小结

    本文将详细介绍七种实现网页跳转的方法,包括`Response.Redirect`、`Server.Execute`、`Server.Transfer`以及其他四种方法。通过对比它们的特点、适用场景以及示例代码,帮助开发者更好地理解和应用这些技术。 ####...

Global site tag (gtag.js) - Google Analytics