Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 287

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 281 282 283 284 285 286 < 287 > 288 289 290 291 292 293 .. 320 >> Следующая

Например, можно создать страницу ASP, которая будет считывать данные из источника данных (при помощи ADO) и представлять возвращаемые строки в виде кода HTML.
iategorles:
[emulates:
W і
Turf. Fie HTML Page
3 і І
S^V4S Sheet
Frameset
' = 3 XMLFIe
XSD Schema
IS Web page that usesгапгамйі x№ cede.'
Open j Cancel [ Ьф
Рис. 14.20. Добавление классического файла ASP
В нашем примере страница ASP будет использовать встроенный объект Request для считывания значений из входящей строки запроса и выводить полученные от клиента данные в виде кода HTML. Можно сказать, что клиенту будет возвращаться эхо его запроса. Вот код соответствующего скрипта (обратите внимание на блок <%...%>, в который помещен скрипт):
<ї@ Language-VBScript *> <!- VBScript вполне подходит для серверных скриптов -> <HTML>
<HEAD>
<МЕТА NAME-"GENERATOR" Content-Microsoft Visual Studio 7.Q">
</HEAD>
<B0DY>
<!• Возвращаем обратно то. что получили ->
<center>
<hl>You said: </hl>
<b>User Name: </Ь><ї- Request.OueryStringftxtUserName") %><br> <b>Password: </Ь><ї= Request.QueryStringC'txtPassword") %><br>
</center>
/<BODY>
</HTML>
ITepnoe, что необходимо отметить, — на странице ASP используются те же теги <HTML>, <HEAD> и <BOQY>, что и на обычной web-странице. Мы используем объект Request, который, как и положено объектам, поддерживает некоторое количество свойств, методов и событий. Для того чтобы извлечь данные в виде запроса от клиента, используется метод Request ,QueryString().
Создание классической страницы ASP 711
Как же генерируется код HTML, который будет возвращен клиенту? Ыож.чо сказать, что запись <*.. .%> означает: «Вставь это в HTTP-ответ». Кроме того, мы можем получить полный контроль над тем, что возвращается пользователю, при помощи объекта Response. Например:
<!- Возвращен обратно то. что получили -> <center>
<hl>You said: </hl>
<b>User Name: </Ь><ї- Request.QueryStringrtxtUserName") %><br>
<h>i-:db:;'.lOrC , </b>
<%
dim pwd
Dwd = Request. QiieryString( "txtPassword" : Response.Write (pwd)
ї>
</center>
В типах Request и Resp onse, конечноже, предусмотрено множество других очень полезных членов, кроме того, в распоряжении web-|)а;нра6отчЕжа классических P также находится набор дополнительных объектов, таких как Session: Server, Appl і cation и ObjectContext. Мы не ставим своей целью в этой главе разобрать классические ASP во всех подробностях, поэтому эти объекты мы рассматривать не будем (информацию о них можно получить в электронной документации по Visual Studio). Однако отметим, что возможности этих типов реализованы в ASP.NET при помощи типа Page.
Для того чтобы запустить нашу страницу ASP, просто откроем файл default.htm, введем в текстовые поля значения для имени пользователя и пароля и нажмем кнопку Submit Сработает серверный скрипт ASP, и в окне браузера откроется сгенерированная на основе ваших данных страница (рис. 1-ОЇ).
3І11 Ip: //lut dlhost/Carj /Clef Sk ASPP аде .аїр
|. file EcIt View FaVHiten Tools Help
і ^ Back 7 4^QI (fl I gjSwrth SjFavcrttai
j Address |?] yMx№assiAord~iMiiepasswdrdcVbcn5ijbmil:-Submic ¦»I ftua
_i-=jci?j
IB
»
Рис. 14.21. Динамически созданная страница HTML
Наш пример, комечнік трудно отнести к разряду очень изошрешшх, но он хорошо иллюстрирует основной принцип работы ASP (и ASP.NET): данные передаются через форму обрабатываются серверным скриптом, и результат вращается пользователю в виде сгенерированного кода HTML.
712 Глава 14 * Разработка web-приложений и ASRNET
J littp:.¦¦!ocjllius'. ¦Lui¦s; ClassicASHPage.asp - Microsoft
I Bie Edit $т FayoruMS look Ц*р
I ^tJKk - ¦+ - ® Ё) & I SaSe<"h SJFarorltes ^History
-joi.SJ
уМ
jAddress |ohttp://kjcalhost/Cars/aasslcASPPage.asp »1 i$Go
You said:
user name:
ря s s ward:
____ zi
e] cone "( Г'Ш I Local Intranet' j,
Рис. 14,22. Метод Quer/SmngO может принимать только информацию, переданную при помощи метода GET
Конечно же, в типе Request предусмотрены члены, которые позволяют принимать данные, отправленные и методом POST. Для этой цели используется коллекция Form. Выглядит это так:
<80DY=>
Возвращаем обратно то, что получили •> "=center>
<hl>Y0U said: </hl>
<b>User Name: </b><*= Request.Form("txtUserName") *><br>
<Ь>Рі5sword: </b>
<%
dim pwd
pwd = Request. Form ("txt Pas sword") Response,Write (pwd)
%>
</center> </B0DY>
Давайте изменим код страницы ASP в соответствии с вышеприведенным примером и запустим наше web-приложение заново. Все работает! Результат может быть таким, как показано на рис. 14.23. Обратите также внимание, что теперь в адресной строке браузера переданные нами значения не отображаются.
Общая схема работы приложения ASP при использовании различных методов передачи данных представлена на рис. 14.24.
Принимаем данные, переданные методом POST
В нашем примере для передачи данных формы использовался метод GET, при котором пары имя — значение для элементов управления формы добавлялись к концу строки запроса. Затем значения принимались при помощи метода Request. QueryStri ng( J. Сразу отметим, что этот метод может использоваться только для приема значений, передаваемых методом GET. Если мы изменим значение соответствующего тега формы на POST и снова запустим наше приложение, ничего хорошего не произойдет: нам вернутся пустые значения (рис. 14.22).
Предыдущая << 1 .. 281 282 283 284 285 286 < 287 > 288 289 290 291 292 293 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100