![]() |
If...Then...Else |
<% If Time >=#12:00:00 AM# And Time < #12:00:00 PM#
Then greeting = "Good Morning!"
Else greeting = "Hello!"
EndIf
%>
![]() |
или порождение страницы на сервере |
<% If Time > = #12:00:00 AM# And Time < #12:00:00 PM# Then %>
Good Morning!
<% Else %>
Hello!
<% End If %>
<%
for i = 3 to 7 %>
<FONT SIZE=<% = i %>>Hello World</FONT><BR>
<% next %>
<BR>
<script language="VBScript">
for i = 3 to 7
s=s+"<FONT SIZE=" + cstr(i) + ">Hello
World</FONT><BR>"
next
document.writeln s
</script>
3.
Оператор DO на примере связи с базой
данных
<%Set
Connection=Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=MyODBCdatabaseonServer"
S="SELECT DISTINCT city,zipcode FROM Client ORDER BY zipcode"
Set rs = Connection.Execute (S)%>
<FORM ACTION="/scripts/dropdown1.asp" METHOD = "POST"
name="listall">
<select name="Выберите город:" size="1">
<option value="" selected>Ничего не выбрано...
<%Do Until rs.eof %>
<option value="<%=rs("City")%>"><%=rs("city")%></option>
<% rs.MoveNext
CurrentRecord = CurrentRecord + 1
Loop
rs.Close%>
</select>
<TITLE>case</TITLE>
<%
dim name
name = "Петров"
Select Case name
case "Петров", "Сидоров", "Иванов"
response.write "Это наши студенты "
case "Васильев"
response.write "А это наш преподаватель "
End Select
%>
Файл Global.asa
определяет приложение и
должен храниться в виртуальной корневой
директории. Если пользователь запрашивает
страницу из виртуального каталога, то тем
самым запускает приложение. Файл Global.asa
может содержать следующие обработчики
событий:
![]() |
События
приложения
Application_OnStart и
Application_OnEnd |
Методы:
·
Lock
·
Unlock
Коллекции:
·
Application.Contents
<% Application("num") = 25 %>
если хранить
массив в объекте Application, то следует
получили копию массива прежде чем
считывать или изменять любые его элементы.:
<%
dim MyArray()
Redim MyArray(5)
MyArray(0) = "привет!"
MyArray(1) = "какая-либо
другая строка"
'Запоминание
массива
в
объекте
Application
Application.Lock
Application("StoredArray") = MyArray
Application.Unlock
Response.Redirect("file2.asp")
%>
<% 'Получение
массива из объекта и модицикация второго
элемента
LocalArray
= Application("StoredArray")
LocalArray(1)
= " Люди!"
'вывод строки "привет!
Люди!"
Response.Write(LocalArray(0)&LocalArray(1))
'Перезапись
массива в объект
Application
'Данное действие
перепишет значения в
StoredArray на новые
Application.Lock
Application("StoredArray") = LocalArray
Application.Unlock
%>
·
Application.StaticObjects
<% Set Application("Obj1") = Server.CreateObject("MyComponent")
%> и использовать его:
<% Set MyLocalObj1 = Application("Obj1")
MyLocalObj1.MyObjMethod %>
![]() |
События
сессии
Session_OnStart и Session_OnEnd |
![]() |
Описание
<OBJECT> |
![]() |
Описание
typeLibrary |
<SCRIPT
LANGUAGE=”vbscript” runat=”Server”>
Sub Session_OnStart
End Sub
Sub
Session_OnStart
End Sub
…
</SCRIPT>
20 минут и сессия завершается. По завершению всех сессий завершается и приложение
Скрипты в ASP файлах могут
взаимодействовать с 5 встроенными
объектами:
Request object - получает
информацию от пользователя
Response object - посылает информацию пользователю
Server object - выполнение
методов на WWW сервере
(ActiveX Server Components)
Session object - Store information about a user’s session
Application object - Share information among users of an application.
The
Request object
может получить информацию из 5 источников (коллекций):
![]() |
•QueryString
- (Request.QueryString(variable)[(index)|.Count]) |
![]() |
•Form |
![]() |
•Cookies |
![]() |
•ServerVariables
- (Web server environment variables - Request("SERVER_PORT")) |
![]() |
•ClientCertificate |
Синтаксис:
Request[.CollectionName](variable)[(n)] n - номер одноименной
переменной
![]() |
Пример
с QueryString
collection: |
<A
HREF="myage.asp?name=Charles+Parker&age=30">
Запрос
в скрипте
будет:
Welcome, <%= Request.QueryString("name") %>.
Your age is <%= Request.QueryString("age") %>.
Возвращаемый
результат:
Welcome, Charles Parker. Your age is 30.
![]() |
Пример
с Form
Collection |
The
Form collection contains all the values that a user entered in a form submitted
with the POST method. For example, when the user fills in and submits the
following form:
<form
action="/scripts/mycup.asp" method="post">
<p>Your first name: <input name="firstname" size=48>
<p>What is your favorite to drink: <select name="cup">
<option>Water <option>Milk <option>tea <option>Juice
</select>
<p><input type=submit>
</form>
Результат работы формы:
firstname=Petrov&cup=
tea
Обработка результатов
формы в mycup.asp:
<%=
Request.Form("firstname") %>
favorite a cup of <%= Request.Form("cup") %>.
Результат:
Petrov
favorite a cup of tea
Свойства объекта Response
![]() |
Response.Buffer = TRUE | FALSE - необходимость буферирования вывода до тех пор, пока либо не закончится выполнение данного скрипта или не встретится метод Flush или End. Данное свойство должно инициироваться в первой строке скрипта. |
![]() |
Response.CharSet (" WINDOWS-1251") - название кодовой таблицы символов |
![]() |
Response.ContentType
= "text/HTML" |
![]() |
Response.IsClientConnected ( ) - указывает подключен ли клиент или уже не подключен к серверу. |
<%
If Not Response.IsClientConnected Then //подключен ли
пользователь
Shutdownid = Session.SessionID //получаем номер сессии и
закрываем сессию
Shutdown(Shutdownid) //подготовка
к закрытию сессии
End If
%>
![]() |
<% Response.Status = "401 Unauthorized" %> - строка состояния, возвращаемую сервером |
![]() |
Write method - для посылки информации прямо броузеру |
![]() |
Redirect method - для пересылки URL для запроса с другого сервера |
![]() |
Cookies method - для записи значений cookie |
Write
- посылаем
прямо броузеру
<H3 ALIGN=CENTER>
<% If user_has_been_here_before Then %>
Welcome Back to the Overview Page.
<% Else %>
Welcome to the Overview Page.
<% End If %> </H3>
Response.Redirect
"homepage.asp" просим браузер обратиться к
домашней страничке
Cookies
collection
<%
Response.Cookies("animal")="elephant" %> создаем новый ключ
<% Response.Cookies("animal")("elephant")="African"
%> добавляем
7.
Five
ActiveX server components:
![]() |
Database
Access component - доступ
к базам данных |
![]() |
Ad Rotator component - ротация картинок и текста |
![]() |
Browser Capabilities component - изменение возможностей броузера |
![]() |
File Access component - доступ к файлам на сервере |
![]() |
Content
Linking component - управление
навигацией |
Создание
"объекта"
(instans) компонент
<%
Set bc = Server.CreateObject("MSWC.BrowserType") %> или
<OBJECT RUNAT=Server ID=MyAd PROGID="MSWC.AdRotator"></OBJECT>
<OBJECT RUNAT=Server ID=Connection PROGID="ADODB.Connection"></OBJECT>
<%
Conn.Open "ADOSamples"
Set RS = Connection.Execute("SELECT * FROM Orders")
%>
и
далее как в
примере с DO
Content
Linking компонент облегчает формирование
страницы по текстовому файлу, где указаны URL
и их описания на основе которых требуется
построить страницу для броузера
<%
Set NextLink=Server.CreateObject("MSWC.NextLink")
count=NextLink.GetListCount("/Vroot/Nextlink.txt")
%>
<UL>
<% For i = 1 to count %>
<li><a href="<%=NextLink.GetNthUrl("/Vroot/Nextlink.txt",i)
%>">
<%=NextLink.GetNthDescription("/Vroot/Nextlink.txt",i) %></a>
<% Next %>