Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 632

Эндрю Троелсен

Рассмотрите также описания некоторых методов типа HttpResponse, представленные в табл. 23.7.

Таблица 23.7. Методы типа HttpResponse

Метод Описание
AddCacheDependency() Добавляет объект в кэш приложения (см. главу 24)
Clear() Удаляет все заголовки и содержимое вывода из буфера потока
End() Отправляет все содержимое буфера вывода клиенту, а затем завершает соединение для данного сокета
Flush() Отправляет все содержимое буфера вывода клиенту
Redirect() Выполняет перенаправление клиента по новому URL
Write() Записывает значения в выходной поток HTTP-содержимого
WriteFile() Записывает файл непосредственно в выходной поток HTTP-содержимого

Генерирование HTML-содержимого

Пожалуй, самой известной сферой применения типа HttpResponse является запись содержимого непосредственно в выходной поток HTTP. Метод HttpResponse. Write() позволяет передать HTML-дескрипторы, или вообще любые строковые литералы. Метод HttpResponse.WriteFile() расширяет эти возможности с тем, чтобы вы могли указать имя физического файла на Web-сервере, содержащего данные, направляемые в выходной поток (это оказывается очень удобным в том случае, когда требуется отправить содержимое уже существующего файла *.htm).

Для примера предположим, что вы добавили в свой файл *.aspx еще один тип Button, который реализует обработчик события Click сервера так.

protected void btnHttpResponse_Click(object sender, EventArgs e) {

 Response.Write("‹b›Moe имя :‹/b›‹br›");

 Response.Write(this.ToString());

 Response.Write("‹br›‹br›‹b›Boт Ваш последний запрос:‹/b›‹br›");

 Response.WriteFile("MyHTMLPage.htm");

}

Роль этой вспомогательной функции (которая может вызываться некоторым: обработчиком события на стороне сервера) очень проста. Единственным заслуживающим внимания моментам здесь является то, что метод HttpResponse. WriteFile() теперь отправляет содержимое файла *.htm сервера из корневого каталога Web-узла.

Снова подчеркнем, что вы, конечно, можете использовать подход "старой школы", чтобы отображать HTML-дескрипторы и содержимое, используя метод Write(), но этот подход в рамках ASP.NET применяется гораздо реже, чем в рамках классической технологии ASP. Причина здесь (снова) в наличии серверных Web-элементов управления. Скажем, чтобы отобразить блок текстовых данных в браузере, достаточно просто присвоить подходящее значение свойству Text элемента Label.