Я получаю исключение "Не удается перенаправить после отправки заголовков HTTP" при перенаправлении на другую страницу - PullRequest
8 голосов
/ 13 апреля 2011

Я получаю исключение

"Cannot redirect after HTTP headers have been sent." 

при выполнении Response.Redirect("Home.aspx").

Как я могу решить это? Я попытался дать Response.Flush() перед перенаправлением.

Ответы [ 3 ]

10 голосов
/ 13 апреля 2011

Проблема в Response.Flush() до перенаправления.С HTTP вы получаете один ответ на один запрос.Ваш браузер запросил страницу только один раз, и я подозреваю, что вы пытаетесь ответить дважды:

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

Поэтому удаление этого Response.Flush() решит вашу проблему.

0 голосов
/ 15 июня 2017

В моем случае причиной проблемы является то, что загрузка данных в виде сетки прокрутки занимает много времени.И раньше gridview данные не загружались точно, но я нажимаю кнопку перенаправления.

Попытка решить проблему может быть:

+ уменьшить ваши данные получить

или

+ до завершения загрузки, не нажимайте кнопку перенаправления

0 голосов
/ 25 марта 2014

Я просто столкнулся с этой проблемой немного по-другому. У меня было два вызова Response.Redirect, которые не были обернуты в отдельные ветви кода. Работал нормально в Chrome, но IE не понравилось. Это было легко исправить, так как у меня было два утверждения «если». Я просто превратил второй в «еще, если», как это так ...

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");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...