Очень распространенная ошибка в мире ASP: заголовки HTTP уже записаны в браузер клиента. Любые изменения заголовка HTTP должны быть сделаны до написания содержимого страницы. Фактический блок ошибок имеет тенденцию выглядеть следующим образом:

Ошибка объекта ответа 'ASP 0156: 80004005
Ошибка заголовка
/index.asp, строка 22
Заголовки HTTP уже записаны в браузер клиента. Любые изменения заголовка HTTP должны быть сделаны до написания содержимого страницы.

Во-первых, что вызывает эту ошибку? Это именно то, что говорится. Вы уже написали заголовки HTTP - такие как команды HTML или HEAD или BODY. Теперь вы пытаетесь сделать что-то еще - возможно, команду response.redirect. Вы не можете перейти на новую страницу в середине написания старой страницы.

Первая наиболее вероятная ситуация заключается в том, что вы действительно что-то записали, а затем попытались вызвать response.redirect. Если вы хотите перейти на новую страницу, делайте процесс принятия решений ДО того, как вы начнете что-либо писать на экран. Вы не можете просто прыгнуть на полпути через рисование страницы. Пройдите обработку, решите, нужно ли вам идти куда-то еще, и, если нужно, отправляйтесь туда. Если нет, нарисуйте страницу, на которой вы находитесь. Вы можете узнать больше об использовании Response.Rirectirect для изменения страниц

Второй наиболее распространенной причиной этого является то, что вы дурачились с кнопками в IIS. Если вы зайдете в Домашний каталог - Конфигурация - Параметры приложения, появится флажок «Включить буферизацию». Это по умолчанию должно быть включено. Когда это включено, это означает, что ваш процесс ASP сохраняет то, над чем он работает, до тех пор, пока не достигнет конца, а затем отправляет пользователю полную страницу. Это эффективный способ обработки ASP.

Однако если вы установите этот флажок в положение OFF, вы не сможете просто вызвать команду response.redirect для перехода на новую страницу. Вы должны начать вручную иметь дело с проблемами буферизации. Если вы действительно хотите попасть в этот беспорядок, не забудьте прочитать, как работает буферизация в ASP.

Простое решение:

* Всегда оставляйте флажок Enable Buffering в положении ON
* Всегда используйте response.redirect ПЕРЕД тем, как вы напишите ЛЮБОЙ HTML.

Введение в ASP Ebook

Загрузите эту книгу, чтобы получить все необходимое для изучения ASP - от пошагового руководства до списков функций, примеров кода, распространенных ошибок и решений и многого другого! 101 страница

Видео инструкция: Technology Stacks - Computer Science for Business Leaders 2016 (April 2024).