Server.Transfer,Response.Redirect的区别 如果你读过很多行业杂志和 ASP.NET 示例,你会发现,大多数人使用 Response.Redirect 将用户引导到另一个页面,而另一些人好像偏爱于神秘的 Server.Transfer,那么,这二者有什么区别? Response.Redirect 简单地发送一条消息到浏览器,告诉浏览器定位到另一个页面.你可以使用下面的代码将用户引导到另一个页面: Response.Redirect("WebForm2.aspx&qu…
在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻会起到一种很棒的效果,那就是使用 Server.Transfer("页面地址") 来重定向地址. 现在我们来详细了解一下这两种重定向页面地址的用法和区别: Response.Redirect :Response.Redirect 会将地址输出至浏览器,执行重定向操作.但是请注意,在程序执行…
https://www.codeproject.com/Articles/775221/Server-Transfer-VS-Response-Redirect-Simplified Introduction In ASP.NET, some of the concepts do the same task but are meant to be used in different scenarios. One such concept which is confusing and most d…
1.Server.Transfer 用于把处理的控制权从一个页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变.因此你能从a页面跳转到b页面而不丢失a页面里的信息. 2.Response.Redirect 发送一个HTTP响应到客服端浏览器,告诉客服端跳转到哪一个页面,客服端在发送跳转请求到服务器.使用此方法将无法保存内部控件的数据,页面a跳转到页面b,而页面b将无法访问a中form提交的数据. 而在具体比较如下 Server.Tran…
1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代  码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求. 这就是说, 使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面 的请求,得到一个302…
一.Server Transfer() Server.Transfer:对于当前请求,终止当前页的执行,并使用指定的页url路径来开始执行一个新页. 1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活: 2. Server.Transfer可以将页面参数方便传递到指定页面: 3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果: 4. Server…
根本上,Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活:2. Server.Transfer可以将页面参数方便传递到指定页面:3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果:4. Server.Transfer可以减少客户端对服务…
今天又比较闲,逛了逛园子,看看asp.net的内容,看到一篇关于这两个的比较: http://www.cnblogs.com/yunfeng8967/archive/2008/03/06/1093236.html 自己做了个小练习,贴出来看看. 跳转前:    Response.Redirect:在客户端浏览器跳转(地址栏地址发生变化),需要多走一个来回.      跳转后:         Server.Transfer:在服务器端跳转(地址栏地址不发生变化),少走一个来回.    目标页面将…
Response.Redirect和Server.Transfer都能实现页面的跳转,但两者又有很大区别. 一 地址栏里显示的地址不同 Response.Redirect会显示跳转的网页的地址,而Server.Transfer显示跳转前的网页的地址.假如用上述两种方式实现WebForm1.aspx跳转到WebForm2.aspx Response.Redirect跳转后地址栏会显示…/WebForm2.aspx Server.Transfer    跳转后地址栏则显示…/WebForm1.asp…
  Response.Redirect("") Server.Transfer("") 转向其他站点 能 不能(只能站内转向) 是否可带QueryString参数 是 是 执行效率 相对低 相对高 是否存在第三方控件的冲突BUG 无 有(如:AJAX等) 浏览器是否显示目标地址 是 否 特别注意: Server.Transfer()方法只能是本站内的URL跳转,不能跳转到其他的网站 Server.Transfer()存在一些已知的和第三方控件的冲突 Server.T…
(1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx, 并将转向前数据加上m2.aspx页结果返回给浏览器,注意的是浏览器的地址没发生变化还是m1.aspx, (2)Server.Execute方法: Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, …
今天在使用ServerTransfer和Response.Redirect定位到当前页面来实现刷新页面时,发现了一些现象: 1.使用Response.Redirect刷新本页面,造成当前页面显示的数据消失的情况: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { String Path; string connString = "server=.;database=ComInfo;integrate…
google后得知:Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件,同时抛出ThreadAbortException 异常,异常信息为“正在中止线程”. 解决方案要解决此问题,请使用下列方法之一:  对于 Response.End,调用 HttpContext.Current.ApplicationInstance.CompleteRequest 方法而不是 Response.End 以跳过 Applicat…
执行过程: 1.浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址 2.浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件 切换对象: 1.Response.Redirect可以切换到任何存在的网页. 2.Server.Transfer只能切换到同目录或者子目录的网页. 数据保密: 1.…
(1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx, 并将转向前数据加上m2.aspx页结果返回给浏览器 (2)Server.Execute方法: Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, 再返回本页继续执行.再将三者结果合并后返回给浏览器.…
1. Server.Transfer 服务器端跳转 webform1.aspx跳转到webform2.aspx页面 webform1.aspx代码如下: protected void Page_Load(object sender, EventArgs e) { this.Server.Transfer("WebForm2.aspx"); this.Response.Write("webform1"); } 当代码执行到Server.Transfer语句会立刻跳转到…
转 http://blog.csdn.net/dannywj1371/article/details/10213631 1.Response.Redirect():Response.Redirect方法导致浏览器链接到一个指定的URL.当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代 码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求.      这就是说,使用Response.Redi…
Server.Transfer() 重定向发生在服务器端,把处理的控制权从当前页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变. 1.只能在同一服务器的同一站点访问 2.执行Server.Transfer()之后,浏览器地址栏不会发生改变,仍是访问是的url,不是Server.Transfer()的url(重定向完全在服务器端进行,所以url不会发生改变) 3.执行Server.Transfer()之后仍会走完整个方法体.(Serve…
server.transfer 特点: 1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换),有些场合需要这种效果.(但要注意一点,如果此时刷新页面,浏览器便会问用户是否“重试”发送表单,如果用户点击“是”,那么,表单中的数据被重新发送到服务器.如过发送表单中有类似向数据库中插入一条记录, 那么同一表单被多次加入到数据库中) 2:在网上查了一下资料,基本上认为,相对于Res…
Server.Transfer("path")内部重定向请求,是服务器内部的接管,浏览器无法意识到这个接管的发生,浏览器地址栏也不会发生变化.而Response.Redirect("")这是经历了一个通知浏览器重定向,浏览器found之后,向服务器发请求重新访问新的url地址并返回给客户端的过程,这是一次http 302请求. 内部接管,再被重定向到页面中时可以访问到Request,Cookies等,这些来源页面接收的参数的,就像这些参数是传递给他的.而Respon…
server.transfer 特点: 1:大家熟悉的一个特点,用server.transfer 跳转到新页面时,浏览器的地址是没有改变的(因为重定向完全在服务器端进行,浏览器根本不知道服务器已经执行了一次页面变换),有些场合需要这种效果.(但要注意一点,如果此时刷新页面,浏览器便会问用户是否“重试”发送表单,如果用户点击“是”,那么,表单中的数据被重新发送到服务器.如过发送表单中有类似向数据库中插入一条记录, 那么同一表单被多次加入到数据库中) 2:在网上查了一下资料,基本上认为,相对于Res…
先看实例: B.apsx:         public string TextBox1Text         {             get             {                 return TextBox1.Text;             }         }           protected void Button1_Click(object sender, EventArgs e)         {             Server.Tra…
页面跳转传参. 如果不是通用的跳转可以通过,在原始页面定义对象保存数据 跳转的目标页面可以: SourcePage page=(SourcePage)Context.Handler; //获取源页面的对象. 通用的跳转,可以使用url传参也可以使用cookie传参,当前其他方式也是可以的.比如Application,session等. Server.Transfer("AA.aspx?UserId=" + userId + "&roleId=" + _rol…
记录一下,提醒自己. 今天写代码的时候,在try 中写了一句  Response.Redirect 在 catch 把页面重定向到了另外一个地方 本来是想打算,如果没出现异常,就定到页面A,如果异常了就定到页面b,然后发现,尼玛怎么样都去了页面b 本来以为是我try代码块中,访问webService出现了什么异常,单步调试了好久,每次都正常没有错误,但是一到 Response.Redirect  就线程终止 搜了一下资料,解决了.以下是一篇说明.很多地方有,不知道出处了. 如果使用 try .c…
一 前言 关于页面跳转的方式常用的应该就是,链接跳转,js跳转,Server.Tranfser和Response.Redirect 这几种,可是在Tranfser与Redirect之间用哪种更好(本文只讨论这两种),以及它们之间的区别各位又是否深究过呢?至少我是没有,对此也深入研究了一下,特意分享给大家 如有不对之处还望大家指出. 二 Transfer与Redirect区别 2.1  Transfer跳转方式只能在同一站内跳转不能跨站点,当以下代码执行时会抛出异常,而用Redirect方法则能正…
URL.Session.Cookies.Server.Transfer.Application和跨页面传送.-本题考查面试者对ASP.NET中多页面传值的理解是否全面.因为ASP.NET的页面表单提交到自身,完成回传的功能,所以默认情况下不能使用POST方式进行多页面传值.关于这些传值方式的分析如下所示.1.URL传值这是经典的传值方式,这种方法的使用非常简单,不过所传递的值是会显示在浏览器的地址栏上的,而且不能传递对象.所以这种方法一般用于传递的值少且安全性要求不高的情况下.在*.aspx页面…
来自:http://www.woosky.net/show.asp?id=761 Respose.Write("<script language='javascript'>window.open('"+ url +"');</script>"); (打开简洁窗口): Respose.Write("<script language='javascript'>window.open('" + url + "…
一 前言 关于页面跳转的方式常用的应该就是,链接跳转,js跳转,Server.Tranfser和Response.Redirect 这几种,可是在Tranfser与Redirect之间用哪种更好(本文只讨论这两种),以及它们之间的区别各位又是否深究过呢?至少我是没有,对此也深入研究了一下,特意分享给大家 如有不对之处还望大家指出. 二 Transfer与Redirect区别 2.1  Transfer跳转方式只能在同一站内跳转不能跨站点,当以下代码执行时会抛出异常,而用Redirect方法则能正…
URL:http://blog.163.com/asp_neter/blog/static/17510918820107258107558/ 错误出现语句:“Response.Redirect("diaryRun.aspx");“: 错误处理方式: 1:“Server.Transfer("diaryRun.aspx");“ 结果:页面能够顺利跳转但是URL地址不变. 2:public static void open(System.Web.UI.Page page,…
如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 ThreadAbortException 异常.您可以使用 try-catch 语句捕获此异常.Response.End 方法终止页的执行,并将此执行切换到应用程序的事件管线中的 Application_EndRequest 事件.不执行 Response.End 后面的代码行.此问题出现在 Response.Redirect 和 Server.Transfer 方法中,因为…