kurs asp.doc

(700 KB) Pobierz
Praca z ASP

Praca z ASP

Tworząc skrypty ASP można standardowo korzystać z dwóch języków tj. VBScript oraz JScript. Istnieje również możliwość wykorzystania języka PerlScript w skryptach ASP. Niniejszy opis ASP będzie bazował na języku VBScript.

Active Server Pages posiada sześć wbudowanych obiektów służących do zarządzania aplikacjami Webowymi:

- Application

-

przechowuje informacje o stanie aplikacji.

- Session

-

przechowuje informacje dotyczące jednego użytkownika, jest "magazynem" informacji każdego użytkownika odwiedzającego stronę.

- Request

-

zawiera wszystkie informacje, które są wysyłane z przeglądarki do serwera. Zawiera dane, które zostały wysłane przy użyciu formularza (form).

- Response

-

wysyła HTML i różne informacje, łącznie z cookies i nagłówki, z powrotem do przeglądarki (klienta).

- Server

-

zwiększa funkcjonalność Active Server Pages.

- ObjectContext

-

pozwala np. przerwać transakcję, która jest zarządzana przez Transaction Server.

Wyżej wymienione obiekty mogą być użyte w każdym miejscu strony ASP.
Na początku każdego skryptu ASP powinna znaleźć sie linijka:

<% @ Language=ScriptingLanguage %>

gdzie ScriptingLanguage to nazwa języka zastosowanego w skrypcie. Może to być np. VBScript, wtedy powinna ona przyjąć postać:

<% @ Language=VBScript %>

Oprócz tego wszystkie elementy, które dotyczą zadeklarowanego języka powinny znaleźć się pomiędzy znacznikami <% oraz %>. Do danego pliku ASP można dołączać inne pliki poprzez wpisanie następującej komendy:

<!-#include file="filename"->

gdzie filename to nazwa innego pliku ASP, np. <!-#include file="samples/code0503.asp"->. W nazwie pliku można zawrzeć także "../" przed nazwą pliku, co poinformuje, że plik, który chcemy załączyć znajduje się w katalogu wyższego rzędu, np. <!-#include file="../get_me.asp"->.

Warunki i pętle.

1 Warunek If.

Zdecydowanie najpopularniejszy warunek. Może on przyjąć formę:

If

warunek

Then

instrukcje

[Else

instrukcje]

lub bardziej czytelną:

If

warunek

Then

 

 

[instukcje]

 

[ElseIf

warunek n-ty

Then

 

 

[instrukcje]

]

 

[Else

 

 

[instrukcje]

]

 

End If

Powyższa instrukcja pozwala na sprawdzenie wielu warunków. Oto przykład, który powinien ułatwić zrozumienie instrukcji If:

If Hour(Now) >= 12 Then Response.Write "Good afternoon!"

Funkcja Hour zwraca bieżącą godzinę, którą określa parametr Now. W przypadku, gdy wynik porównania (wartość jest większa lub równa 12) jest prawdziwy, tzn. zwraca wartość true, wtedy zostanie wyświetlony komunikat "Good afternoon!". Inny przykład:

If Hour(Now) < 12 Then

 

 

Response.Write "Good morning!"

 

ElseIf Hour(Now) >= 18 Then

 

 

Response.Write "Good evening!"

 

Else

 

 

Response.Write "Good afternoon!"

 

End If

W powyższym przykładzie występują dwa porównania oraz Else (tzn. w przeciwnym wypadku), która jest wykonywana w przypadku gdy oba wcześniejsze warunki nie zostaną sprawdzone, tzn. jeśli wartość będzie większa lub równa 12 i mniejsza od 18.

2 Warunek Select Case

Warunek Select Case działa na podobnej zasadzie co warunek If; jednakże, zostaje stworzone wyrażenie w postaci listy warunków. W przypadku większej ilości porównań lepszym rozwiązaniem staje się użycie warunku Select Case. Ogólna składnia wygląda następująco:

Select Case

wyrażenie

 

 

[Case

wartość

 

 

 

[instrukcje]

]

...

 

 

[Case Else

wartosc

 

 

 

[instrukcje]

]

 

End Select

A oto przykład wykorzystania:

Select Case Hour(Now)

 

 

Case 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

 

 

 

Response.Write "Good morning!"

 

 

Case 12, 13, 14, 15, 16, 17

 

 

 

Response.Write "Good afternoon!"

 

 

Case Else

 

 

 

Response.Write "Good evening!"

 

End Select

Wszystkie godziny, które określają poranek i popołudnie zostały zawarte w dwóch pierwszych warunkach. W przypadku gdy godzina będzie inna zostanie wykonany warunek Case Else, czyli pokaże się napis "Good evening!".

3 Pętla For ... Loop

Jeśli chcesz powtórzyć grupę instrukcji określoną ilość razy, możesz użyć pętli For Loop. Składnia:

For

licznik

=

start

To

koniec

[ Step

step

]

 

 

[instrukcje]

 

 

[Exit For]

 

 

[instrukcje]

 

Next

W przykładzie wygląda to następująca:

For i=0 to 5

 

 

Response.Write "Witaj świecie!"

 

Next

Powyższy fragment wyświetla łańcuch "Witaj świecie!" sześć razy (pętla zaczyna się od wartości zero!).

4 Pętla While ... Wend

Jeśli niewiadomo, ile razy powinna zostać wykonana pętla, można użyć pętlę While ... Wend. Składnia wygląda następująco:

While

warunek

 

 

[instrukcje]

 

Wend

Zauważyć należy, że warunek jest sprawdzany przed wykonaniem instrukcji znajdujących się wewnątrz pętli. Jeśli warunek nie zostanie spełniony pętla nie wykona się ani razu. Przykład:

i=0

 

While i <= 5

 

 

Response.Write "Witaj świecie!"

 

 

i=i+1

 

Wend

Ręczna inicjalizacja zmiennej i nie jest konieczna (VBScript zrobi to sam); jednakże, w praktyce lepiej jest jeśli wartości zmiennych są ustalane. Instrukcja While ... Wend jest podobna do pętli For ... Loop, z tą jednak różnicą, że pętla For ... Loop sama inkrementuje wartość. W pętli While ... Wend trzeba to robić samemu (nie wolno o tym zapomnieć!).

5 Pętla Do ... Loop

Pętla Do ... Loop jest bardzo podobna do pętli While ... Wend. Pętla Do ... Loop posiada dwa rodzaje składni. Pierwsza z nich:

Do [{While | Until}

warunek

]

 

 

[instrukcje]

 

 

[Exit Do]

 

 

[instrukcje]

 

Loop

działa identycznie jak pętla While ... Wend. Poniżej została przedstawiona druga możliwość wyglądu pętli Do ... Loop.

Do

 

 

[instrukcje]

 

 

[Exit Do]

 

 

[instrukcje]

 

Loop [{While | Until}

warunek

]

W tym przypadku instrukcje wewnątrz pętli będą wykonane przed sprawdzeniem warunku, tzn. pętla zostanie wykonana co najmniej jeden raz. Przykład:

Do

 

 

Response.Write "Witaj świecie!"

 

 

i=i+1

 

Loop Untile i > 5

Powyższa pętla spowoduje pojawianie się napisu "Witaj świecie!" do momentu aż wartość i będzie większa od 5. Można również ostatnią linię zapisać w postaci:

Loop While i <= 5

6 Pętla For ... Each

Specjalnym rodzajem pętli jest pętla For ... Each. Pozwala ona wyliczyć wszystkie elementy ze zbioru, który jest grupą elementów tego samego typu. Składnia wygląda następująco:

For

...

Zgłoś jeśli naruszono regulamin