zoukankan      html  css  js  c++  java
  • NET中转发与跳转区别

    转发:HttpServerUtility.Transfer();
    对于当前请求,终止当前页的执行,并使用指向一个新页的指定 URL 路径来开始执行此新页。
    可以清除 QueryString 和 Form 集合

    跳转:HttpResponse.Redirect();
    将客户端重定向到新的 URL 并指定该新 URL,默认不终止当前页的执行.
    ————————————————————————————————————————————————————————————
    response.redirect 这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。 
    server.transfer 速度快,只需要一次postback ,但是。。。。他必须是在同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。你可以写个小程序试试:设计一个由页面一到页面二的跳转,但要进入到页面二需要登录,form认证,但如果跳转语句使用transfer的话,那就不会弹出登录页面了。这个方法的重定向请求是发生在服务器端,所以浏览器的url地址仍然保留的是原页面的地址!

    来源:(http://blog.sina.com.cn/s/blog_633d837d0100fklo.html) - NET中转发与跳转区别_小帅_新浪博客


    Server.Transfer and Response.Redirect

    Server.Transfer(ASP 3.0 以上) 和 Response.Redirect 在以前的 ASP 中就存在了,Page.Navigate 是 ASP.NET Beta 1 提供的新功能,它们之间的区别在于:

    1、 Server.Transfer - 用于把处理的控制权从一个页面转移到另一个页面,在转移的过程中,没有离开服务器,内部控件(如:request, session 等)的保存的信息不变,因此,你能从页面 A 跳到页面 B 而不会丢失页面 A 中收集的用户提交信息。此外,在转移的过程中,浏览器的 URL 栏不变。

    2、Response.Redirect - 发送一个 HTTP 响应到客户端,告诉客户端跳转到一个新的页面,客户端再发送跳转请求到服务器。使用此方法时,将无法保存所有的内部控件数据,页面 A 跳转到页面 B,页面 B 将无法访问页面 A 中 Form 提交的数据。

    3、Page.Navigate - Page.Navigate 实现的功能和 Response.Redirect 差不多,它实际上包括三个步骤:首先调用 Response.Redirect,其次依次卸载所有的控件,最后调用 Response.End

  • 相关阅读:
    ios开发 <AppName>-Prefix.pch文件的用法详解
    iOS Block全面分析
    _weak typeof(self) weakSelf = self
    判断当前iOS设备的方法
    修改UITextfield的Placeholder字体的颜色
    uibutton实现左文字右图片
    apache Apache winnt_accept: Asynchronous AcceptEx failed 错误的解决
    android4.0 锁屏实现(转)
    android 代码设置、打开wifi热点及热点的连接(转)
    tomcat arp
  • 原文地址:https://www.cnblogs.com/xiaoshuai/p/1770420.html
Copyright © 2011-2022 走看看