Response.Redirect:无法在发送 HTTP 标头之后进行重定向
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, string url) {
StringBuilder Builder = new StringBuilder();
Builder.Append("<script language=’javascript’ >");
Builder.AppendFormat("alert(‘{0}’);", "操作成功!"); Builder.AppendFormat("top.location.href=’{0}’ ", url); Builder.Append("</script>"); page.ClientScript.RegisterStartupScript(page.GetType(), "message", Builder.ToString()); }
结果:能够顺利跳转页面,URL地址正确 备注: Response.Redirect():将客户端重定向到新的 URL。
重载方法为两种: 1:HttpResponse.Redirect (String) 说明:将客户端重定向到新的 URL 并指定该新 URL。 2:HttpResponse.Redirect (String, Boolean) 说明:将客户端重定向到新的 URL。指定新的 URL 并指定当前页的执行是否应终止。 Server.Transfer():终止当前页的执行,并为当前请求开始执行新页。 重载方法为三种:
1:HttpServerUtility.Transfer (String) 说明:对于当前请求,终止当前页的执行,并使用指向一个新页的指定 URL 路径来开始执行此新页。 2:HttpServerUtility.Transfer (IHttpHandler, Boolean)
说明:终止当前页的执行,然后使用一个实现 IHttpHandler 接口的自定义 HTTP 处理程序开始新请求的执行,并指定是否要清除 QueryString 和 Form 集合。 3:HttpServerUtility.Transfer (String, Boolean)
说明:终止执行当前页,并开始使用新页的指定 URL 路径来执行新页。指定是否清除 QueryString 和 Form 集合。
两种重定向方法的区别:
在使用Response.Redirect()的时候Response.Redirect()是给客户机分配一个新的URL,由于Response.Redirect()方法实际上是通过META标记来执行资源的更改,所以如果标题发送给客户机就会产生上述的错误。执行的顺序为Server 发送请求 > Client 收到信息确认返回 > Server 请求重定向 > test.aspx。
在使用Server.Transfer()的时候它的一切动作都在Server端进行,所以相对而言,它的重定向速度比前都要快得多。它有两个参数,一个为重定向页面,一个为布尔值(用来指定是否保存原页面表单的信息)。它仅仅在重定向的时候带了一个状态信息,也就是用ViewState保存了重定向前的页面的信息。
不过Server.Transfer()方法只能重定向同一台服务器的页面而Response.Redirect()则可以定向到其他的服务器如Response.Redirect(“www.baidu.com”)。
所以在标题发送到客户机后使用Response.Redirect()方法就会产生错误,引发HttpException异常。
Response.Redirect:无法在发送 HTTP 标头之后进行重定向的更多相关文章
- Response.Redirect引起的“无法在发送HTTP标头之后进行重定向”
博客后台切换至i.cnblogs.com之后,在日志中发现大量的“无法在发送HTTP标头之后进行重定向”(Cannot redirect after HTTP headers have been se ...
- Page.Response.Buffer与Response.Redirect一起用报错“无法在发送 HTTP 标头之后进行重定向”
Page.Response.Buffer与Response.Redirect一起用报错“无法在发送 HTTP 标头之后进行重定向” 原因还未知..
- 解决:无法在发送 HTTP 标头之后进行重定向。 跟踪信息: 在 System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>……
问题:在MVC的过滤器中验证用户状态时报如下错误: 无法在发送 HTTP 标头之后进行重定向. 跟踪信息: 在 System.Web.HttpResponse.Redirect(String ...
- 处理 ASP.NET 中的异常:无法在发送 HTTP 标头之后进行重定向。
因为在 Global.asax 中的 Application_Error 事件中添加了统一的错误处理,其中会有 Redirect 重定向到错误页面. 但是有可能有些情况下已经进行过其它重定向操作,所以 ...
- C# 无法在发送 HTTP 标头之后进行重定向
在调试中发现错误如下: Response.Redirect引起的“无法在发送HTTP标头之后进行重定向” 跳转失败 解决方案如下: 使用js方法来跳转地址 const string url=" ...
- 出现“无法在发送 HTTP 标头之后进行重定向”问题
如题,在Response.Redirect之后会偶尔出现“无法在发送HTTP标头之后进行重定向”问题. 是因为,已经在出现错误的代码之前进行过一次重定向了.仔细检查代码即可. 解决方法:按照逻辑移除多 ...
- 无法在发送 HTTP 标头之后进行重定向
public ActionResult Index2() { Response.Buffer = true; Response.Clear(); return Redirect("/Wech ...
- MVC开发中的常见错误-06-"无法在发送 HTTP 标头之后进行重定向。"
通过监视可以看到: 原来是跳转到登录页面后,登录页面中又发送了一个GeMneuItems的请求,用于加载页面图片
- Server.Transfer,Response.Redirect用法点睛
Server.Transfer,Response.Redirect的区别 如果你读过很多行业杂志和 ASP.NET 示例,你会发现,大多数人使用 Response.Redirect 将用户引导到另一个 ...
随机推荐
- INSTALL_FAILED_VERSION_DOWNGRADE报错
error: INSTALL_FAILED_VERSION_DOWNGRADE 原因:模拟器或者实际的device中已经安装了同名的app,且本次的版本并不高 解决:在模拟器中卸载此同名应用,之后再运 ...
- 单核CPU,多线程与性能
问题概述 单核CPU的计算机上, 多线程能够提高程序运行的性能吗? 这个问题看起来简单,实际很复杂,设计到多方面的因素. 首先我们要把概念搞清楚, 那就是什么是性能? 一般来说, 我们把运行一个任 ...
- cocos2d-x之CCMotionStreak类——2013-08-25 16
在游戏的实现过程中,有时会需要在某个游戏对象上的运动轨迹上实现渐隐效果.这种感觉就好像是类似飞机拉线的拖尾巴,在视觉上感觉很好,比如子弹的运动轨迹等,如果不借助引擎的帮助,这种效果往往需要通过大量 ...
- SAXParser 解析器和 XMLEventReader(读取XML文档)
import javax.xml.parsers.ParserConfigurationException;import javax.xml.parsers.SAXParser;import java ...
- 玩转Android之MVVM开发模式实战,炫酷的DataBinding!
C# 很早就有了MVVM的开发模式,Android手机中的MVVM一直到去年Google的I\O大会上才推出,姗姗来迟.MVVM这中开发模式的优点自不必多说,可以实现视图和逻辑代码的解耦,而且,按照G ...
- Android(java)学习笔记148:Eclipse中代码提示去掉@override,不然就报错!
把项目下载下来后有@Override的注释的方法会报错,如果把@Override去掉就不报错了.经过查阅后发现:@override注释在jdk1.5环境下只能用于对继承的父类的方法的重写,但不能用于对 ...
- 使用nexus创建maven私有仓库
nexus安装 nexus下载 wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.1-01-bundl ...
- UWP入门一 7天酒店客户端源码及说明
以前写过一个wp8的工程,说实话那会的代码很麻烦,写起来费劲,另外还没多少人下载,不过到windows 10 开始微软出了UWP架构以后一切都像以前的winform wpf一样好转起来,新建一个工程以 ...
- jqery筛选
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mysql insert语句错误问题解决
好久没有复习数据库了,竟然忘记了mysql中的关键字(保留字),导致今天一晚上都在查找sql语句错误,特此记录此错误,教训啊. 我在mysql数据库中有一个名为order 的表,啊啊啊啊啊,为啥我给他 ...