Response.Redirect、 Server.Transfer、Server.Execute三者区别

简介:
(1)Response.Redirect简单地发送一条消息到浏览器,告诉浏览器定位到另一个页面。client->server->client->server->client
(2)Server.Transfer也是将用户引导到另外一个页面,并返回客户端。
client->server->server->client
(3)Server.Execute执行一个页面,并返回结果。在asp.net中被Transfer代替
 
 
使用Server.Transfer优点:
首先,通过 Server.Transfer 引导到另一页面保留服务器资源,通过更改服务器端"焦点"和传输请求来代替告诉浏览器重定向,这就意味着你不会占用较多的 HTTP 请求,因此这可以减轻服务器的压力,使你的服务器运行更快。不过, "transfer" 只能在同一服务器端的同一站点间运行,所以你不能用 Server.Transfer 将用户重定向到另一服务器上的站点。要重定向到服务器以外的站点,只有 Response.Redirect 能办到。 
其次,Server.Transfer 保留浏览器端的 URL 地址。这对流线型的数据输入很有帮助,不过这也增加了调试的复杂度。
最后,Server.Transfer 方法还有另一个参数——"preserveForm"。假如你设置这个参数为 True,比如:Server.Transfer("WebForm2.aspx", True), 那么 query string 和任何 form 变量都会同时传递到你定位的页面。 
例:WebForm1.aspx 有一个文本框名为 TextBox1,你利用 preserveForm 为 True 传递到 WebForm2.aspx,那么在WebForm2.aspx页面可以用 Request.Form("TextBox1") 来取得文本框的值。

这种技术对向导式的多页面输入很有用,不过这里有一个你必须注重的问题是,当你使用 preserveForm 参数时,ASP.NET 有一个 bug,通常情况下,当试图传递 form 或 query string 值时会发生错误。

非官方的解决办法是在传递的目的页面中设置 EnableViewStateMac属性设置为false。


本文转自 韬光星夜 51CTO博客,原文链接:http://blog.51cto.com/xfqxj/477101,如需转载请自行联系原作者
目录
打赏
0
0
0
0
265
分享
相关文章
【报错】Failed to start A high performance web server and a reverse proxy server.
【报错】Failed to start A high performance web server and a reverse proxy server.
596 2
Server-Sent Events 和 WebSocket 之间有什么区别
Server-Sent Events (SSE) 和 WebSocket 分别代表单向和双向通信机制。SSE,基于 HTTP,仅允许服务器向客户端发送事件流;而 WebSocket 是双向实时通信协议,支持客户端与服务器的双向交互。SSE适合低实时性场景,依赖长轮询或流传输;WebSocket 提供更低延迟,适用于高实时性应用。两者在现代浏览器中普遍被支持,但旧版浏览器或特定网络环境可能影响兼容性。选择哪种机制取决于实际需求,如通信方向、实时性要求及目标浏览器支持。
Response from backend server
Response from backend server
101 1
A simple IOCP Server/Client Class
  Download demo project v1.
1945 0
SpringCloud - Cannot execute request on any known server
SpringCloud - Cannot execute request on any known server
224 0
SpringCloud - Cannot execute request on any known server
k8s下的eureak服务注册失败(cannot execute request on any known server)解决
k8s下的eureak服务注册失败(cannot execute request on any known server)解决
719 0
no response from server
今天配置的nginx代理,同事反应在swagger上没响应,出现如下情况 本来以为是配置的地址有问题,但是无论换成哪个网卡地址都不行,后面在 “proxy_pass” 下面添加了一个请求头 “proxy_set_header”,如下所示 location /bi/ { proxy_pass http://127.
2184 0
OWIN的理解和实践(二) – Host和Server的开发
原文:OWIN的理解和实践(二) – Host和Server的开发 对于开发人员来说,代码就是最好的文档,如上一篇博文所说,下面我们就会基于Kanata项目的一些具体调用代码,来进一步深入理解OWIN的实现和作用.
1643 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等