ASP qisqa ma’lumotnoma
W3Schools’dan ASP qisqa ma’lumotnomasi. Uni chop eting va buklab cho‘ntagingizga soling.
Asosiy sintaksis
ASP skriptlari <% va %> belgilari orasiga olinadi. Brauzerga biror natija chiqarish uchun:
<html>
<body>
<%
response.write("Hello World!")
%>
</body>
</html>
ASP’da standart til — VBScript. Boshqa skript tilidan foydalanish uchun ASP sahifasining eng yuqori qismiga til ko‘rsatmasini joylashtiring:
<%@ language="javascript" %>
<html>
<body>
<%
....
%>
Formalar va foydalanuvchi kiritgan ma’lumotlar
Request.QueryString method="get" bo‘lgan formadagi qiymatlarni yig‘ish uchun ishlatiladi. GET metodi bilan formadan yuborilgan ma’lumotlar hammaga ko‘rinadi (ular brauzerning manzil satrida ko‘rsatiladi) va yuboriladigan ma’lumotlar hajmi cheklangan.
Request.Form method="post" bo‘lgan formadagi qiymatlarni yig‘ish uchun ishlatiladi. POST metodi bilan formadan yuborilgan ma’lumotlar boshqalarga ko‘rinmaydi va yuboriladigan ma’lumotlar hajmi cheklanmagan.
ASP cookie’lari
Cookie ko‘pincha foydalanuvchini aniqlash uchun ishlatiladi. Cookie — server foydalanuvchi kompyuteriga joylashtiradigan kichik fayl. Har safar shu kompyuter brauzer orqali sahifa so‘raganda, u cookie’ni ham yuboradi.
Cookie’lar yaratish uchun Response.Cookies buyrug‘i ishlatiladi:
<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2002"
%>
Eslatma: Response.Cookies buyrug‘i <html> tegidan OLDIN kelishi shart!
Cookie qiymatini olish uchun "Request.Cookies" buyrug‘i ishlatiladi:
<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>
Fayllarni qo‘shish
#include direktivasi yordamida bir ASP fayl tarkibini server uni bajarishidan oldin boshqa ASP faylga qo‘yishingiz mumkin. #include direktivasi bir nechta sahifada qayta ishlatiladigan funksiyalar, sarlavhalar (header), pastki qismlar (footer) yoki elementlarni yaratish uchun ishlatiladi
Sintaksis:
<!--#include virtual="somefile.inc"-->
yoki
<!--#include file ="somefile.inc"-->
Virtual katalogdan boshlanadigan yo‘lni ko‘rsatish uchun virtual kalit so‘zidan foydalaning. Agar "header.inc" nomli fayl /html nomli virtual katalogda joylashgan bo‘lsa, quyidagi qator "header.inc" tarkibini qo‘shadi:
<!-- #include virtual ="/html/header.inc" -->
Nisbiy yo‘lni ko‘rsatish uchun file kalit so‘zidan foydalaning. Nisbiy yo‘l fayl qo‘shayotgan fayl joylashgan katalogdan boshlanadi. Agar faylingiz html katalogida bo‘lsa va "header.inc" fayli html\headers katalogida joylashgan bo‘lsa, quyidagi qator "header.inc" faylini faylingizga qo‘shadi:
<!-- #include file ="headers\header.inc" -->
Yuqori darajadagi katalogdan fayl qo‘shish uchun file kalit so‘zini (..\) sintaksisi bilan ishlating.
Global.asa
Global.asa fayli — ixtiyoriy fayl bo‘lib, unda ASP ilovasidagi har bir sahifa murojaat qila oladigan obyektlar, o‘zgaruvchilar va metodlar e’lonlari bo‘lishi mumkin.
Eslatma: Global.asa fayli ASP ilovasining ildiz katalogida saqlanishi kerak va har bir ilovada faqat bitta Global.asa fayli bo‘lishi mumkin.
Global.asa faylida faqat quyidagilar bo‘lishi mumkin:
- Application hodisalari
- Session hodisalari
- <object> e’lonlari
- TypeLibrary e’lonlari
- #include direktivasi
Application va Session hodisalari
Global.asa faylida Application va Session obyektlariga ilova/sessiya boshlanganda va tugaganda nima qilish kerakligini ko‘rsatishingiz mumkin. Buning uchun kod hodisa ishlovchilariga (event handlers) joylashtiriladi. Eslatma: Global.asa fayliga skript qo‘yish uchun <% va %> belgilaridan foydalanmaymiz, protseduralarni (subroutines) HTML <script> tegi ichiga joylashtirishimiz kerak:
<script language="vbscript" runat="server">
sub Application_OnStart
' some code
end sub
sub Application_OnEnd
' some code
end sub
sub Session_OnStart
' some code
end sub
sub Session_OnEnd
' some code
end sub
</script>
<object> e’lonlari
Global.asa faylida <object> tegi yordamida sessiya yoki ilova ko‘rinish sohasiga (scope) ega obyektlar yaratish ham mumkin. Eslatma: <object> tegi <script> tegidan tashqarida bo‘lishi kerak!
Sintaksis:
<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
.......
</object>
TypeLibrary e’lonlari
TypeLibrary — COM obyektiga mos keladigan DLL fayli mazmuni uchun konteyner. Global.asa fayliga TypeLibrary’ga murojaatni qo‘shish orqali COM obyektining konstantalaridan foydalanish mumkin bo‘ladi, ASP kodi esa xatolar haqida yaxshiroq xabar bera oladi. Agar veb-ilovangiz tip kutubxonalarida (type library) ma’lumot tiplari e’lon qilingan COM obyektlariga tayansa, bu tip kutubxonalarini Global.asa faylida e’lon qilishingiz mumkin.
Sintaksis:
<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
Session obyekti
Session obyekti foydalanuvchi sessiyasi haqidagi ma’lumotlarni saqlash yoki sessiya sozlamalarini o‘zgartirish uchun ishlatiladi. Session obyektida saqlangan o‘zgaruvchilar bitta foydalanuvchi haqidagi ma’lumotni saqlaydi va bitta ilovadagi barcha sahifalar uchun mavjud bo‘ladi.
Kolleksiyalar
- Contents - Skript buyruqlari orqali sessiyaga qo‘shilgan barcha elementlarni saqlaydi
- StaticObjects - <object> tegi yordamida muayyan sessiyaga qo‘shilgan barcha obyektlarni saqlaydi
- Contents.Remove(item/index) - Contents kolleksiyasidan elementni o‘chiradi
- Contents.RemoveAll() - Contents kolleksiyasidagi barcha elementlarni o‘chiradi
Xususiyatlar
- CodePage - Dinamik kontentni ko‘rsatishda ishlatiladigan kod sahifasini (code page) o‘rnatadi
- LCID - Dinamik kontentni ko‘rsatishda ishlatiladigan lokal identifikatorini (locale identifier) o‘rnatadi
- SessionID - Sessiya identifikatorini (id) qaytaradi
- Timeout - Sessiyaning kutish vaqtini (timeout) o‘rnatadi
Metod
- Abandon - Session obyektidagi barcha obyektlarni yo‘q qiladi
Application obyekti
Biror maqsadni bajarish uchun birgalikda ishlaydigan ASP fayllar guruhi ilova (application) deb ataladi. ASP’dagi Application obyekti bu fayllarni bir-biriga bog‘lash uchun ishlatiladi. Barcha foydalanuvchilar bitta Application obyektidan birgalikda foydalanadi. Application obyekti ilovadagi ko‘plab sahifalar foydalanadigan ma’lumotlarni (masalan, ma’lumotlar bazasiga ulanish ma’lumotlarini) saqlashi kerak.
Kolleksiyalar
- Contents - Skript buyruqlari orqali ilovaga qo‘shilgan barcha elementlarni saqlaydi
- StaticObjects - <object> tegi yordamida ilovaga qo‘shilgan barcha obyektlarni saqlaydi
- Contents.Remove - Kolleksiyadan elementni o‘chiradi
- Contents.RemoveAll - Kolleksiyadagi barcha elementlarni o‘chiradi
Metodlar
- Lock - Foydalanuvchiga Application obyekti xususiyatlarini o‘zgartirishga yo‘l qo‘ymaydi
- Unlock - Foydalanuvchiga Application obyekti xususiyatlarini o‘zgartirishga ruxsat beradi
Response obyekti
Response obyekti serverdan foydalanuvchiga natija (output) yuborish uchun ishlatiladi.
Kolleksiya
- Cookies(name) - Cookie qiymatini o‘rnatadi. Agar cookie mavjud bo‘lmasa, u yaratiladi va ko‘rsatilgan qiymatni oladi
Xususiyatlar
- Buffer - Natijani buferlash yoki buferlamaslikni belgilaydi. Natija buferlanganda server barcha server skriptlari qayta ishlanmaguncha yoki skript Flush yoki End metodini chaqirmaguncha javobni ushlab turadi. Agar bu xususiyat o‘rnatilsa, u ASP faylida <html> tegidan oldin turishi kerak
- CacheControl - Proksi-serverlar natijani keshlashi mumkin yoki mumkin emasligini belgilaydi. Public qiymati berilganda natijani proksi-server keshlashi mumkin
- Charset(charset_name) - Content type sarlavhasiga belgilar to‘plami (character set) nomini (masalan, "ISO8859-1") o‘rnatadi
- ContentType - HTTP kontent turini (masalan, "text/html", "image/gif", "image/jpeg", "text/plain") o‘rnatadi. Standart qiymat — "text/html"
- Expires - Sahifa muddati tugashidan oldin brauzerda qancha vaqt keshda saqlanishini o‘rnatadi
- ExpiresAbsolute - Brauzerda keshlangan sahifaning muddati tugaydigan sana va vaqtni o‘rnatadi
- IsClientConnected - Mijoz hali ham serverga ulanganligini tekshiradi
- Pics(pics_label) - PICS yorlig‘i (pics label) javob sarlavhasiga qiymat qo‘shadi
- Status - Holat qatori (status line) qiymatini belgilaydi
Metodlar
- AddHeader(name, value) - Ko‘rsatilgan qiymatga ega HTML sarlavhasini qo‘shadi
- AppendToLog string - Server jurnali (log) yozuvining oxiriga string qo‘shadi
- BinaryWrite(data_to_write) - Berilgan ma’lumotni hech qanday belgilar to‘plami konvertatsiyasisiz yozadi
- Clear - Buferlangan natijani tozalaydi. Bu metoddan xatolarni qayta ishlash uchun foydalaning. Agar Response.Buffer true qilib o‘rnatilmagan bo‘lsa, bu metod bajarilish vaqtidagi xatoga (run-time error) sabab bo‘ladi
- End - Skriptni qayta ishlashni to‘xtatadi va joriy natijani qaytaradi
- Flush - Buferlangan natijani darhol yuboradi. Agar Response.Buffer true qilib o‘rnatilmagan bo‘lsa, bu metod bajarilish vaqtidagi xatoga (run-time error) sabab bo‘ladi
- Redirect(url) - Foydalanuvchini boshqa URL manzilga yo‘naltiradi
- Write(data_to_write) - Foydalanuvchiga matn yozadi
Request obyekti
Brauzer serverdan sahifa so‘rashi so‘rov (request) deb ataladi. Request obyekti foydalanuvchidan ma’lumot olish uchun ishlatiladi.
Kolleksiya
- ClientCertificate - Mijoz sertifikatida saqlangan maydon qiymatlarini saqlaydi
- Cookies(name) - Cookie qiymatlarini saqlaydi
- Form(element_name) - Forma (input) qiymatlarini saqlaydi. Forma post metodidan foydalanishi shart
- QueryString(variable_name) - So‘rov stringidagi (query string) o‘zgaruvchi qiymatlarini saqlaydi
- ServerVariables(server_variable) - Server o‘zgaruvchilarining qiymatlarini saqlaydi
Xususiyat
- TotalBytes - Mijoz so‘rov tanasida (body) yuborayotgan baytlarning umumiy sonini saqlaydi
Metod
- BinaryRead - Mijozdan serverga post so‘rovining bir qismi sifatida yuborilgan ma’lumotlarni oladi
Server obyekti
Server obyekti serverdagi xususiyat va metodlarga murojaat qilish uchun ishlatiladi.
Xususiyat
- ScriptTimeout - Skript to‘xtatilishidan oldin qancha vaqt ishlashi mumkinligini o‘rnatadi
Metod
- CreateObject(type_of_object) - Obyekt nusxasini yaratadi
- Execute(path) - ASP faylni boshqa ASP fayl ichidan bajaradi. Chaqirilgan ASP fayl bajarilgandan so‘ng boshqaruv asl ASP faylga qaytadi
- GetLastError() - Yuz bergan xatoni tavsiflovchi ASPError obyektini qaytaradi
- HTMLEncode(string) - Stringga HTML kodlashni qo‘llaydi
- MapPath(path) - Nisbiy yoki virtual yo‘lni fizik yo‘lga moslaydi
- Transfer(path) - Barcha holat ma’lumotlarini qayta ishlash uchun boshqa ASP faylga yuboradi. Uzatishdan so‘ng boshqaruv asl ASP faylga qaytmaydi
- URLEncode(string) - Stringga URL kodlash qoidalarini qo‘llaydi
Manba: https://www.w3schools.com/asp/asp_quickref.asp
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
