关于Response.redirect()方法】的更多相关文章

在ASP.NET MVC中我们很多时候都会在拦截器和Controller中直接使用Response.Redirect方法做跳转,但是实际上Response.Redirect方法执行后ASP.NET并不会立即结束当前请求的执行,而是要过一段时间才会终止当前请求的执行,然后命令客户端浏览器去访问Response.Redirect方法中传入的新的URL地址.这会导致一个问题,有时候我们希望Response.Redirect方法执行后后面的代码就取消执行了,因为这并不是我们预期的行为,当代码执行了Res…
在ASP.NET中,开发人员经常使用Response.Redirect()方法,用编程的手法,将对老的URL的请求转到新的URL上.但许多开发人员没有意识到的是,Response.Redirect()方法发的是个 HTTP 302 Found (临时转向) 回复,会在用户尝试访问老的URL时,导致多余的HTTP往返.搜索引擎一般不会跟随多个重新转向跳转,意味着使用一个临时转向会负面影响你的网页排名.       ASP.NET 4引进了一个新的Response.RedirectPermanent…
为了确保传递的汉字被正确地接收,可以在传值之前使用Server对象的UrlEncode方法对所传递的汉字进行URL编码.代码如下: String name = Server.UrlEncode("如何解决Response.Redirect方法传递汉字丢失或乱码问题"); Response.Redirect("B.aspx?name="+name); 接收值时,使用Server对象的UrlDecode方法对所接收的汉字进行URL解码.代码如下: String name…
(1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页面转向到m2.aspx, 并将转向前数据加上m2.aspx页结果返回给浏览器,注意的是浏览器的地址没发生变化还是m1.aspx, (2)Server.Execute方法: Server.Execute("m2.aspx"); 服务器保存此页转向前的数据后,使页面转向到m2.aspx执行, …
问题来自:"我在app_code 定义了user.cs类:其中作了跳转:Httpcontect.Current.Response.Redirect("/c/index.aspx");Httpcontect.Current.Response.End();在本机调试的时候总报url 重定向,而且调试的时候到End()也还在往下运行根本没中断程序:换成Httpcontect.Current.Server.Trasfer("/c/index.aspx"):就报未能…
1. sendRedirect 后面要加上return.2. sendRedirect 执行过程是先转向还是先执行后续代码再转向?答: 先执行代码再转向,在一个sendRedirect后面不能再有其他向页面中写入的操作. 3. 关于在redirect中相对地址的写法: 在servlet中配置的Servlet请求URL为: /test/servlet/TestRediect请求URL test/servlet/TestRediect转向URL/rediectPage.jsp : http://lo…
普通情况下,Response.Redirect 方法是在server端进行转向,因此,除非使用 Response.Write("<script>window.location='http://dotnet.aspx.cc';</script>") 方法外,是不能在新窗体打开所指定的  URL 地址的.可是,假设细致分析一下,假设设置 form 元素的 target 属性,还是有办法打开新窗体的.以下就是能够採用的两种方法. 方法一:在server端设置 targ…
一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("<script>window.location='http://dotnet.aspx.cc';</script>") 方法外,是不能在新窗口打开所指定的  URL 地址的.但是,如果仔细分析一下,如果设置 form 元素的 target 属性,还是有办法打开新窗口的.下面就是可以采用的两种方法. 方法一:在服务器端设置 target 属性,…
现象: 最近做的一个系统通过单点登录(SSO) 技术验证用户登录.用户在SSO 系统上通过验证后,跳转到该系统的不同模块.而跳转的时间一直维持子啊几分钟左右. 分析步骤: 在问题复现时抓取Hang dump 进行分析: 1) 找到用户登陆的调用堆栈 0:071> kb RetAddr           : Args to Child                                                           : Call Site 000007fe`f8…
现象: 某系统通过单点登录(SSO) 技术验证用户登录.用户在SSO 系统上通过验证后,跳转到某系统的主页上面.而跳转的时间很长,约1分钟以上. 分析步骤: 在问题复现时抓取Hang dump 进行分析: 1) 找到用户登陆的调用堆栈 0:071> kb RetAddr           : Args to Child                                                           : Call Site 000007fe`f81889e5…
1.Response.Redirect(): Response.Redirect方法导致浏览器链接到一个指定的URL. 当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代  码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求. 这就是说, 使用Response.Redirect方法时重定向操作发生在客户端,总共涉及到两次与服务器的通信(两个来回):第一次是对原始页面 的请求,得到一个302…
根本上,Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活:2. Server.Transfer可以将页面参数方便传递到指定页面:3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果:4. Server.Transfer可以减少客户端对服务…
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,…
最近做项目时发现,先弹出提示框,再跳转页面 这样写:Jscript.Alert("你好,Hello!"); Response.Redirect("/index.aspx"); 只是页面跳转了,与这样写Response.Redirect("/index.aspx");没什么区别 所以我就用location.href 这样写:Response.Write("<script>alert('你好,Hello!');location.…
备注:这里我用到了Response.RedirectPermanent()用于做301跳转, 如:我希望访问网站的url访问地址为:http://m.shop/abc.html ,用户输入的访问地址:http://m.shop/ABc.html,就可以用到这个方法了,对上个请求返回301,发出一个新的正确的Url地址的请求. /// <summary> /// 判断首页是否包含index.html或者index.aspx均301跳. /// </summary> /// <r…
以前在做ASP.NET开发时一直没注意到一个问题,就是广泛使用的Response.Redirect方法并不会将服务器端在Response中新增或修改的Cookie返回给客户端浏览器,而网站的Session一般来说又是通过Cookie来做客户端唯一标识的,这就会使得当浏览器第一次通过Get方法发送请求到服务器后(由于是客户端浏览器第一次访问服务器,所以这时客户端浏览器中还没有Cookie存储SessionID),在服务器返回的响应中得不到带有SessionID的Cookie,使得浏览器在下一次发送…
执行过程: 1.浏览器ASP文件请求->服务器执行->遇到response.redirect语句->服务器发送response.redirect后面的地址给客户机端的浏览器->浏览器请求执行新的地址 2.浏览器ASP文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件 切换对象: 1.Response.Redirect可以切换到任何存在的网页. 2.Server.Transfer只能切换到同目录或者子目录的网页. 数据保密: 1.…
1.Server.Transfer 用于把处理的控制权从一个页面转移到另一个页面,在转移的工程中没有离开服务器内部控件(如request,session等)保存的信息不变.因此你能从a页面跳转到b页面而不丢失a页面里的信息. 2.Response.Redirect 发送一个HTTP响应到客服端浏览器,告诉客服端跳转到哪一个页面,客服端在发送跳转请求到服务器.使用此方法将无法保存内部控件的数据,页面a跳转到页面b,而页面b将无法访问a中form提交的数据. 而在具体比较如下 Server.Tran…
要实现的功能:某项操作后,使用alert()提示框提示"操作成功"之类的提示,然后使用response.Redirect()来进行页面重定向. 出现的问题:运行代码,操作完成后,直接跳转到指定页面,但是并没有弹框提示. 示例代码: protected void gvAttrList_RowDeleting(object sender, GridViewDeleteEventArgs e) { Page.ClientScript.RegisterStartupScript(this.Ge…
Response.Redirect 产生的“正在中止线程”错误 今天在开发调试过程中,出现在一个 "正在中止线程"异常信息. 调用Response.Redirect()方法产生的,虽然知道是线程的问题, 但是不知为何 Redirect会出现这样的错误,以前是没有碰到过, 在狂baidu,Google了一下后,才发现MS早就解决了这个问题,但提供了解决方法. 异常 如果使用 Response.End.Response.Redirect 或 Server.Transfer 方法,将出现 T…
转 http://blog.csdn.net/dannywj1371/article/details/10213631 1.Response.Redirect():Response.Redirect方法导致浏览器链接到一个指定的URL.当Response.Redirect()方法被调用时,它会创建一个应答,应答头中指出了状态代 码302(表示目标已经改变)以及新的目标URL.浏览器从服务器收到该应答,利用应答头中的信息发出一个对新URL的请求.      这就是说,使用Response.Redi…
通常我们做登陆的时候都是登录成功后为管理员保存一些信息,一般都会写类似下面的代码 if(登录成功) { Session["xx"] = "user"; Response.Redirect("Framework.aspx"); } 当我们登录后再从其它页面访问Session["xx"]的时候发现报错说为null.郁闷具体是为什么我也不清楚. 网上百度一下有人做了如下解释,不知道是否合理 原因:当asp.net 执行 respon…
在一般情况下.Response.Redirect 该方法是在server年底转向,因此,除非 Response.Write("<script>window.location='http://dotnet.aspx.cc';</script>") 方法外,是不能在新窗体打开所指定的  URL 地址的.可是,假设细致分析一下.假设设置 form 元素的 target 属性,还是有办法打开新窗体的.以下就是能够採用的两种方法. 方法一:在server端设置 targe…
通过设置form的target属性同样可以让Response.Rederect所指向的url在新的窗口打开,下面为大家介绍三种具体的实现方法 Response.Rederect在默认情况下是在本页跳转,所以除了在js中用window.open或是给A标签添加target属性之外,在后台似乎不能来打开新的页面,其实不然,通过设置form的target属性同样可以让Response.Rederect所指向的url在新的窗口打开.下面用三种方法来实现. 1 .给form指定target属性,那么本页面…
关于ASP.NET MVC中Response.Redirect和RedirectToAction的BUG (跳转后继续执行后面代码而不结束进程)以及处理方法   在传统的ASP.NET中,使用Response.Redirect("")可以直接对页面进行转向,并且结束当前进程,不再往下执行. 但是在MVC中不知是微软有意而为之还是就是一个BUG(例如@Html.DropDownList 的Name BUG),当使用Response.Redirect进行页面转向的时候并不会中断当前页面执行…
在ASP.NET中,在后台传值方式目前大多都是用 Response.Redirect("页面地址") 来重定向页面的,但是现在还有一种方式也可以达到重定向页面的作用,而且在某些时刻会起到一种很棒的效果,那就是使用 Server.Transfer("页面地址") 来重定向地址. 现在我们来详细了解一下这两种重定向页面地址的用法和区别: Response.Redirect :Response.Redirect 会将地址输出至浏览器,执行重定向操作.但是请注意,在程序执行…
用 Redirect 方法可将浏览器重定向到另一个 URL,而不是将内容发送给用户. 这里有一篇文章介绍使用Redirect<Using Response.Redirect Effectively> ,文章详细的讨论了Response.Redirect ,给出了一段代码: public static class HttpResponseExtensions { public static void RedirectUser(this HttpResponse response, string…
记录一下,提醒自己. 今天写代码的时候,在try 中写了一句  Response.Redirect 在 catch 把页面重定向到了另外一个地方 本来是想打算,如果没出现异常,就定到页面A,如果异常了就定到页面b,然后发现,尼玛怎么样都去了页面b 本来以为是我try代码块中,访问webService出现了什么异常,单步调试了好久,每次都正常没有错误,但是一到 Response.Redirect  就线程终止 搜了一下资料,解决了.以下是一篇说明.很多地方有,不知道出处了. 如果使用 try .c…
Response.Write和Response.Redirect一起用的时候就会这样,write脚本和redirect脚本不能同时使用,这样不会执行脚本,最好使用ClientScript 改进方法: 方法一: Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script language=javascript >alert('弹出对话框!');</script>&quo…