Response.Redirect与Server.Transfer区别

xiaoxiao2021-03-01  16

Response.RedirectServer.Transfer的区别

 

在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻会起到一种很棒的效果,那就是使用 Server.Transfer("页面地址") 来重定向地址。

 

 

Response.Redirect :Response.Redirect 会将地址输出至浏览器,执行重定向操作。但是请注意,在程序执行到Response.Redirect("页面地址") 语句时,会立即中断当前页面的生命周期,直接向客户端返回信息,让客户端进行重定向操作。这个时候页面URL将会显示重定向后的地址。

 

 

Server.Transfer :Server.Transfer 是一个很奇特的方法。当使用 Server.Transfer 方法重定向页面时,虽然页面也会被重定向至指定页,但是并不会在浏览器的URL上体现出来,并且若重定向的页面后有参数,也不会显示在浏览器的URL上。

简单的阐述:

Response.Redirect 是通知客户端浏览器(客户端浏览器,地址栏地址发生变化)跳转的。而Server.Transfer是在服务端跳转(客户端浏览器,地址栏地址不发生变化)简单的来说,Response.Redirect需要多走一个来回。而,Server.Transfer能少走一个。Response.Redirect 对于客户端浏览来说,速度可能会慢点,但对于服务端能少些负担;而Server.Transfer对于客户端浏览会快一些(因为少走一个来回),但服务器负担会大一些。

 

 

数据保密性:1、Response.Redirect后地址会变成跳转后的页面地址。2、Server.Transfer后地址不变,隐藏了新网页的地址及附带在地址后边的参数值。具有数据保密功能。传递的数据量(即:网址后附带的参数):利用网址来传递数据,必须注意的是网址的编码,要编码的原因是,有此字符有特殊意义,例如:&,它是参数的分隔符号,解决的方法是必须修改: 调用Server.URLEncode(变量)对要传递的数据加以编码。1、Response.Redirect能够传递的数据以2KB为限。2、传递的数据超过2KB时,务必使用Server.Transfer。

转载请注明原文地址: https://www.6miu.com/read-3650104.html

最新回复(0)