Asp.net “我得到了例外”;发送HTTP标头后无法重定向";当重定向到另一个页面时

Asp.net “我得到了例外”;发送HTTP标头后无法重定向";当重定向到另一个页面时,asp.net,Asp.net,我有个例外 "Cannot redirect after HTTP headers have been sent." 执行Response.Redirect(“Home.aspx”)时 我怎样才能解决这个问题? 我尝试在重定向之前给出Response.Flush() 问题在于重定向之前的响应.Flush()。通过HTTP,您可以获得one请求的one响应。您的浏览器只请求了一次页面,我怀疑您试图响应两次: Response.Flush(); //First Response Response

我有个例外

"Cannot redirect after HTTP headers have been sent." 
执行
Response.Redirect(“Home.aspx”)

我怎样才能解决这个问题?
我尝试在重定向之前给出
Response.Flush()

问题在于重定向之前的
响应.Flush()
。通过HTTP,您可以获得one请求的one响应。您的浏览器只请求了一次页面,我怀疑您试图响应两次:

Response.Flush(); //First Response
Response.Redirect("Home.aspx"); //Second Response

因此,去掉
Response.Flush()
将解决您的问题。

我只是以一种稍微不同的方式遇到了这个问题。我有两个响应:重定向调用没有封装在独立的代码分支中。铬合金做得很好,但我不喜欢。这是一个简单的修复,因为我有两个“如果”语句。我只是把第二个变成了“如果”这样

if (QueryString("reset") == "1")
{
    // User is resetting password
    Response.Redirect("/Account/ResetPassword.aspx");
}
else if (DataUtils.IsInt(QueryString("id")))
{
    // User is authenticating...completing signup
    Response.Redirect("/Account/Activate.aspx");
}

在我的例子中,问题的原因是在scroll gridview中加载数据需要很长时间。在gridview数据没有完全加载之前,我按下了重定向按钮

尝试解决问题可能是:

+减少你的数据量


+在加载完成之前,请防止按重定向按钮

由于此错误,我添加了Response.Flush(),即使我删除了,我也会收到相同的错误。然后,您可能会在某个地方收到另一个响应,做一个查找或张贴一些代码复制到这里找到的问题和解决方案:可能重复我从上面的线程尝试的解决方案。我无法解决这个问题。。。我的踏板标题可能重复,但问题可能是其他原因……我有一个从基本页面继承的页面,该页面检查用户是否具有访问该页面的权限。如果用户有权限,则将重定向到请求的页面,如果不重定向用户访问被拒绝的页面。此检查发生在BasePage的OnInt方法上。只是想一想,这可能与调用的层次结构有关-您是否尝试过将OnInit更改为OnLoad?