Справочник функций

Ваш аккаунт

Логин:
Пароль:
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
Убрать блок ВКонтакте навсегда

Последние темы форума

Показать новые сообщения »

Почтовая рассылка



Подписчиков: 19017
Последний выпуск: 23.04.2012

ASP - Создание страницы ASP

Файл Active Server Pages (ASP) представляет собой текстовый файл с расширением «.asp». Этот файл может содержать:

  • текстовые данные;
  • теги языка HTML;
  • серверные сценарии.

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

Для опубликования вновь созданного файла «.asp» в Интернете следует сохранить его в виртуальном каталоге веб-узла (последний должен иметь разрешение «Сценарий» или «Выполнение»). После этого можно обратиться к данному файлу в запросе, указав в обозревателе соответствующий адрес URL. (Необходимо помнить, что поскольку страницы ASP должны обрабатываться на сервере, ввод физического пути к файлу «.asp» в данном случае недопустим.) Переданный сервером файл при просмотре в обозревателе представляет собой страницу HTML. В этом есть определенный смысл, так как перед отправкой файла на сервере выполняется его синтаксический анализ и выполняются все серверные сценарии ASP. Поэтому пользователи всегда получают обычные файлы HTML.

Файлы «.asp» могут создаваться в любом текстовом редакторе. По мере накопления опыта более удобной может оказаться работа в специальном редакторе, включающем дополнительную поддержку ASP, таком как Microsoft® Visual InterDev™. (Дополнительные сведения см. на веб-узле Microsoft Visual InterDev по адресу http://msdn.microsoft.com/vinterdev/.)

Добавление команд в сценарий для сервера

Серверный сценарий состоит из последовательности инструкций, обеспечивающих поочередное поступление команд на веб-сервер. (Разработчикам веб-узлов могут быть хорошо знакомы клиентские сценарии, выполняющиеся в веб-обозревателе.) В файлах «.asp» для обособления сценариев от текстовых данных и команд HTML используются разделители. Разделителем является символ или последовательность символов, которыми обозначается начало или конец раздела. Язык HTML в качестве таких разделителей использует символы (<) и (>), между которыми располагаются теги HTML.

В ASP команды сценариев заключаются в разделители <% и %>. В разделителях можно указывать любые допустимые команды используемого языка сценариев. Ниже показан пример простой страницы HTML с командами сценария.

<HTML>
  <BODY>
  This page was last refreshed on <%= Now() %>.
  </BODY>
</HTML>

Функция VBScript Now() возвращает текущие дату и время. Во время обработки данной страницы веб-обозреватель заменит <%= Now() %> текущими значениями даты и времени и возвратит страницу обозревателю со следующим результатом:

This page was last refreshed on 01/29/99 2:20:00 PM.

Команды, заключенные в разделители, называются основными командами сценариев и обрабатываются при помощи основного языка сценариев. Команда внутри разделителей должна быть допустимой командой основного языка сценариев. По умолчанию основным языком сценариев является VBScript; можно назначить и другой язык сценариев по умолчанию. См. Работа с языками сценариев.

Разработчикам клиентских сценариев хорошо знаком HTML-тег <SCRIPT>, используемый для выделения команд и выражений. В серверных сценариях тег <SCRIPT> может применяться для определения процедур на нескольких языках, содержащихся в одном файле «.asp». Дополнительные сведения по этому вопросу см. в разделе Работа с языками сценариев.

Совместное использование тегов HTML и команд языка сценариев

В разделители ASP можно поместить любую инструкцию, выражение, процедуру или оператор, применение которых разрешено в используемом основном языке сценариев. Под инструкцией в VBScript и других языках написания сценариев понимают синтаксически полную конструкцию, которой описывается один вид действия, объявления или определения. Примером часто используемой инструкции является условная инструкция If...Then...Else:

<%
  Dim dtmHour

  dtmHour = Hour(Now())

  If dtmHour < 12 Then
    strGreeting = "Good Morning!"
  Else
    strGreeting = "Hello!"
  End If
%>

<%= strGreeting %>

В зависимости от времени дня строковой переменной strGreeting в сценарии присваивается значение "Good Morning!" («Доброе утро!») или "Hello!" «Здравствуйте!». Инструкция <%= strGreeting %> отправляет текущее значение переменной в обозреватель.

Таким образом, до 12:00 дня (по местному времени) на экраны пользователей выводится строка:

Good Morning!

После 12:00 пользователи увидят сообщение:

Hello!

Между различными частями инструкции может располагаться HTML-текст. Так, результат выполнения приведенного ниже сценария с тегами языка HTML и инструкцией If...Then...Else является таким же, как и в примере выше:

<%
  Dim dtmHour

  dtmHour = Hour(Now())

  If dtmHour < 12 Then
%>
  Good Morning!
<% Else %>
  Hello!
<% End If %>

Если заданное в сценарии условие выполняется (полдень еще не наступил), веб-сервер отправляет в обозреватель указанный в условии текст HTML (“Good Morning”). В противном случае в обозреватель отправляется строка (“Hello!”), указанная после Else. Подобное чередование HTML-текста и команд сценариев часто применяется при работе с инструкцией If...Then...Else. Применение рассмотренной выше конструкции удобно, если приветствие требуется вывести в нескольких местах веб-страницы. Значение переменной устанавливается только один раз, после чего оно может использоваться многократно.

HTML-текста может также передаваться в обозреватель непосредственно из команды сценария, а не размещаться между различными командами. Возврат текста в обозреватель осуществляется встроенным объектом ASP Response. Результат выполнения следующего сценария тот же, что и в предыдущем примере:

<%
  Dim dtmHour

  dtmHour = Hour(Now())

  If dtmHour < 12 Then
    Response.Write "Good Morning!"
  Else
    Response.Write "Hello!"
  End If
%>

Команда Response.Write отправляет расположенный после нее текст в обозреватель. Инструкцию с Response.Write следует использовать в тех случаях, когда возвращаемый в обозреватель текст должен создаваться динамически. Таким образом, например, можно составить строку из значений нескольких переменных. Чтобы узнать больше об объекте Response в частности и об объектах вообще, обратитесь к разделам Использование компонентов и объектов и Отправка содержимого в веб-обозреватель. Сейчас же просто следует заметить, что добавление команд сценария на страницу HTML можно осуществить несколькими способами.

Допускается включение процедур, написанных на основном языке сценариев, с использованием разделителей ASP. Дополнительные сведения см. в разделе Работа с языками сценариев.

При создании сценария на языке JScript непосредственно в команды ASP могут включаться блоки инструкций в фигурных скобках. В этих конструкциях допускается также присутствие HTML-тегов и текста. Пример.

<%
  if (screenresolution == "low")
  {
%>
This is the text version of a page.
<%
  }
  else
  {
%>
This is the multimedia version of a page.
<%
  }
%>

--Or--

<%
  if (screenresolution == "low")
  {
    Response.Write("This is the text version of a page.")
  }
  else
  {
    Response.Write("This is the multimedia version of a page.")
  }
%>

Работа с директивами ASP

ASP предоставляет директивы, которые не входят в состав используемого языка сценариев: директиву для вывода данных и директиву для их обработки.

В ASP директива вывода <%= выражение %> позволяет вывести значение выражения на экран. Эта директива вывода равнозначна команде Response.Write. Например, выражение <%= city %> можно использовать для вывода на экран слова Baltimore (текущее значение переменной) в обозревателе.

Директива обработки <%@ ключевое слово %> позволяет передавать в ASP данные, которые необходимы для обработки файла «.asp». В следующем примере показаны директивы для VBScript в качестве основного языка сценариев на странице:

<%@ LANGUAGE=VBScript %>

Директива обработки должна быть первой строкой в файле «.asp». Если страница должна содержать несколько директив, они должны располагаться внутри одной пары разделителей. Включение в файл директивы обработки с помощью инструкции #include не допускается. (Дополнительные сведения см. в разделе Включение файлов.) От ключевого слова знак (@) должен отделяться пробелом. Ниже перечислены ключевые слова, которые могут применяться в директивах обработки.

Важно!   Одна директива может содержать несколько ключевых слов. Пары, образуемые ключевым словом и значением, должны разделяться пробелами. Пробелы (=) вокруг знака равенства не допускаются.

В следующем примере задаются язык сценария и кодовая страница:

<%@ LANGUAGE="JScript" CODEPAGE="932" %>

Пустые промежутки в сценариях

Если основным языком сценария является VBScript или JScript, ASP автоматически убирает пустые промежутки, которые могут встречаться в командах. В случае остальных языков написания сценариев эти промежутки сохраняются. Это обеспечивает правильность интерпретации команд в языках, где имеют значение местоположение элементов и отступы. Пустыми промежутками являются пробелы, знаки табуляции, возврата каретки и разрыва строки.

В языках VBScript и JScript допускается оставлять промежутки после открывающим и перед закрывающим разделителем. Это облегчает чтение команд. Так, перечисленные ниже инструкции правильны:

<% Color = "Green" %>

<%Color="Green"%>

<%
Color = "Green"
%>

Промежуток между закрывающими разделителем одной инструкции и открывающим разделителем другой в ASP удаляется автоматически. Тем не менее, использование пропусков повышает легкость чтение. Чтобы сохранить промежуток между двумя инструкциями, например при отображении значений переменных в предложении, следует пользоваться знаком неразрывного пробела из языка HTML (&nbsp;). Например:

<%
  'Define two variables with string values.
  strFirstName = "Jeff"
  strLastName = "Smith"
%>

<P>This Web page is customized for "<%= strFirstName %>&nbsp;<%= strLastName %>." </P>

Оставить комментарий

Оставлять комментарии могут только зарегистрированные пользователи.

Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин и пароль в верхней (Alt-U) части страницы.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог