logo search
[ПСП] / lab22

Создание классической страницы asp

Наша форма уже в состоянии передавать данные, однако принимать их пока неко­му. Давайте ликвидируем этот недостаток нашего web-приложения и создадим страницу — приемник наших данных. Вначале мы создадим ее не на ASP.NET, а с помощью классических ASP.

Первое, с чего нам нужно начать — добавить новую страницу Active Server Page при помощи Visual Studio.NET (рис. 14.20). Присвоим этой странице то имя, которое мы указали в атрибуте action для формы (ClassicASPPage.asp) и со­храним ее в физическом каталоге, которому соответствует виртуальный ката­лог Cars.

Рис. 14.20. Добавление классического файла ASP

Страницу ASP можно воспринимать как набор из кода HTML и скриптов, пред­назначенных для выполнения на сервере. Можно сказать, что основной смысл ASP заключается в генерации кода HTML «на лету» при помощи серверных скриптов.

Например, можно создать страницу ASP, которая будет считывать данные из ис­точника данных (при помощи ADO) и представлять возвращаемые строки в виде кода HTML.

В нашем примере страница ASP будет использовать встроенный объект Request для считывания значений из входящей строки запроса и выводить полученные от клиента данные в виде кода HTML. Можно сказать, что клиенту будет возвращать­ся эхо его запроса. Вот код соответствующего скрипта (обратите внимание на блок <%...%>, в который помещен скрипт):

<%@ Language=VBScript %>

<!- VBScript вполне подходит для серверных скриптов ->

<НТМL>

<HEAD>

<МЕТА NAME="GENERATOR" Content=Microsoft Visual Studio 7.0">

</HEAD>

<BODY>

<!- Возвращаем обратно то, что получили ->

<center>

<hl>You said: </hl>

<b>User Name: </b><%= Request.QueryString(“txtUserName") %><br>

<b>Password: </b><%= Request.QueryString(“txtPassword") %><br>

</center>

/<BODY>

</HTML>

Первое, что необходимо отметить, — на странице ASP используются те же теги <HTML>, <HEAD> и <BODY>, что и на обычной web-странице. Мы используем объект Request, который, как и положено объектам, поддерживает некоторое количество свойств, методов и событий. Для того чтобы извлечь данные в виде запроса от кли­ента, используется метод Request.QueryString().

Как же генерируется код HTML, который будет возвращен клиенту? Можно сказать, что запись <%...%> означает: «Вставь это в HTTP-ответ». Кроме того, мы можем получить полный контроль над тем, что возвращается пользователю, при помощи объекта Response. Например:

<!- Возвращаем обратно то, что получили -> <center>

<hl>You said: </hl>

<b>User Name: </b><%=Request.QueryString(“txtUserName")%><br>

<b>Password: </b>

<%

dim pwd

pwd = Request.QueryString(“txtPassword")

Response.Write(pwd)

%>

</center>

В типах Request и Response, конечно же, предусмотрено множество других очень полезных членов, кроме того, в распоряжении web-разработчика классических ASP также находится набор дополнительных объектов, таких как Session. Server, Application и ObjectContext. Мы не ставим своей целью в этой главе разобрать класси­ческие ASP во всех подробностях, поэтому эти объекты мы рассматривать не бу­дем (информацию о них можно получить в электронной документации по Visual Studio). Однако отметим, что возможности этих типов реализованы в ASP.NET при помощи типа Page.

Для того чтобы запустить нашу страницу ASP, просто откроем файл default.htm, введем в текстовые поля значения для имени пользователя и пароля и нажмем кнопку Submit. Сработает серверный скрипт ASP, и в окне браузера откроется сге­нерированная на основе ваших данных страница (рис. 14.21).

Рис. 14.21. Динамически созданная страница HTML

Наш пример, конечно, трудно отнести к разряду очень изощрённых, но он хо­рошо иллюстрирует основной принцип работы ASP (и ASP.NET): данные переда­ются через форму HTML, обрабатываются серверным скриптом, и результат воз­вращается пользователю в виде сгенерированного кода HTML.