Response.Redirect、 Server.Transfer、Server.Execute三者区别
生活随笔
收集整理的这篇文章主要介绍了
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,如需转载请自行联系原作者
其次,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,如需转载请自行联系原作者
总结
以上是生活随笔为你收集整理的Response.Redirect、 Server.Transfer、Server.Execute三者区别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java EE官方文档汇总
- 下一篇: 【转载】关于对方法实例化的相关感悟以及u