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

Ваш аккаунт

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

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

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

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

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

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>

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

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