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 将用户引导到另一个 ...
随机推荐
- 关于Bufferedreader的功能扩写
package cn.hncu.pattern.decorator.v1; import java.io.FileReader;import java.io.IOException; public c ...
- the third assignment of software testing
没有网的日子不好过,Junit4下不下来,先用androidTestCase实现一个. 遇到了几个bug. 首先是除0问题. public void testDivide(){ result=calc ...
- 转:maven报错非法字符:\65279 错误
开发中一个项目很早就报这个错,maven报错非法字符:\65279 错误,今天终于忍无可忍要解决它 :编译java文件的时候,有些java文件报非法字符 \65279错误,在网上找和很多 方法,也试了 ...
- cobbler部署
1.cobbler介绍 Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows.该工具使用python开发,小巧轻便(才15k行python代码),使用简单的 ...
- 跨时钟域设计【一】——Slow to fast clock domain
跨时钟域设计是FPGA设计中经常遇到的问题,特别是对Trigger信号进行同步设计,往往需要把慢时钟域的Trigger信号同步到快时钟域下,下面是我工作中用到的慢时钟域到快时钟域的Verilog HD ...
- day-5
/* 还有几半天了 上午考试暴力暴力暴力... 亏我还写了对拍 没有卵用 T2 差点事 T3不难却没咋么认真想 这tm就很尴尬了23333 下午整理题 一下午.... 晚上打月赛 + 单调队列 继续说 ...
- config文件中可以配置查询超时时间
web.config配置数据库连接 第一种:获取连接字符串 首先要定义命名空间 system.configuration 1. string connstr= string constr = Con ...
- jasper3
package jasper; import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStr ...
- Android开发MVP模式解析
http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html 在开发Android应用时,相信很多同学遇到和我一样的情况,虽然 ...
- cognos 10.2.2 Framework manager使用”数据源”新建查询主题
又做了一个简单的报表,就是在Framework Manager中写个sum()的sql出个报表,可以使用使用"数据源"新建查询主题 配置查询主题后修改SQL,注意全部都是大写,要和 ...