Tìm hiể u về ASP
Lưu hành nội bộ
1
I.Active Server Pages (ASP) là gì ?
Microsoft Active Server Pages (ASP) là một môi trường kòch bản dựa trên
server (server-side scripting) cho phé p tạo hoặ c xâ y dựng cá c ứ ng dụng Web
mạnh chứ a các thẻ HTML, vă n bản và cá c lệ nh script hay cá c ứ ng dụng Web
độ ng , giao tiế p giữ a Client và server một cách hiệu quả. Cá c trang ASP có
thể gọi cá c thà nh phầ n ActiveX để thực hiệ n các công việc như kết nối với
vớ i mộ t database hoặ c thực hiệ n mộ t tính toá n kinh doanh. Vớ i ASP, bạn có
thể đưa nộ i dung tương tác với cá c trang Web củ a bạn hoặ c xâ y dựng toàn bộ
cá c ứ ng dụ ng Web sử dụng cá c trang HTML như giao tiế p vớ i khách hàng
của bạn.
Trang ASP:
Mỗ i trang .asp có thể bao gồ m mộ t trong các thà nh phầ n sau: HTML, Scrip
củ a ngô n ngữ VB Scrip hoặ c Jscrip, Text trong đó các tag HTML và Text sẽ
được xử lý bình thườ ng như đố i vớ i các văn bả n HTML (.html) thô ng thườ ng,
các script sẽ được mộ t bộ phậ n (engine) của ASP thông dòch và thi hành trên
server .Có thể xem trang ASP như mộ t trang HTML có bổ sung các ASP
Script Command
Hoạ t động củ a trang ASP:
Sau khi mô i trườ ng ASP thực hiệ n việ c thực thi cá c file .asp xong nó sẽ trả
lại kế t quả ở dạng HTML cho Web Server, tiế p theo Browser sẽ nhận được
nội dung cần trình bà y từ Web Server thô ng qua giao thứ c HTTP. Mộ t trang
ASP cũ ng sẽ được Brower tham khảo tới bình thường như là nó đã tham
khả o tớ i mộ t trang HTML của Web.
Trang Asp khi ở trê n Web Server và khi được đưa ra Browser
Web Server
Browser
XXXXX
XXXXX
ZZZZZZ
ZZZZZZ
XXXXX
XXXXX
YYYYY
YYYYY
X:HTML
Y:ASP script
Z:ASP Script result(HTML)
Tìm hiể u về ASP
Lưu hành nội bộ
2
Sơ đồ một ứng dụng trên Web ASP:
Web Server : là nơi tiế p nhậ n và trả lời cá c yê u cầ u của Web user, đồng thời
cũ ng thực hiệ n việ c kế t nố i đế n hệ DBMS trê n Database Server theo yê u
cầu truy cập dữ kiệu củ a trang ASP. ADO cung cấ p giao diệ n lậ p trình cho
ngườ i phá t triễ n xâ y dự ng cá c lệ nh truy cậ p CSDL, các lệnh này được
chuyển đến cho hệ DBMS để thực thi thông qua các thà nh phầ n OLE DB
(và ODBC). Kết quả truy vấ n dữ liệ u sẽ được Web Server đưa ra hiể n thò
trê n Browser.
Database Server: nơi diễ n ra việ c thực thi các thao tá c CSDL như truy vấ n,
cậ p nhậ t cũ ng như bào đả m tính toà n vẹn dữ liệ u của hệ DBMS.
Browser: giao diệ n vớ i ngườ i dùng, tiếp nhận các yêu cầu củ a ngườ i sử dụng
cũ ng như hiể n thò kế t quả yêu cầu.
SƠ ĐỒ MỘT Ứ NG DỤ NG TRÊN WEB
Một vài đặc điểm của ASP:
- Việ c chèn cá c Scrip vào file HTML làm cho quá trình xử lý tạo ra văn bản
HTML ( Dynamic Pages ) đồ ng thờ i vớ i việ c xử lý cá c Script , điề u bày sẽ
Web Browser
Web Server
ASP ADO OLEDB ODBC
Database Server
DMS
(SQL
server)
Tìm hiể u về ASP
Lưu hành nội bộ
3
làm cho hoạt động củ a trang Web sẽ trở nê n linh độ ng hơn , uyể n chuyể n
hơn.
- Các file .asp cũ ng tương thích vớ i file HTML, và việc viết các scrip đơn
giả n , khô ng phả i biê n dò ch hay liê n kế t như việ c lậ p trình thô ng thườ ng,
ASP cung cấ p các đố i tượng tiệ n lợi cho nhiề u thao tá c như: Request ,
Response , Server , Apllication , Session. Các đối tượng có sẵn này của môi
trườ ng ASP sẽ giú p cho việ c giao tiế p dữ liệ u giữ a Client và Server thực sự
tiệ n lợi, cũ ng như việ c quản lý ứ ng dụng mộ t cá ch linh hoạt nhờ vào các
biế n Session, Application.
II Các thành phần & cú pháp ASP :
ASP bao gồm các thành phầ n sau :
1. Cá c bộ dò ch ngô n ngữ VBScript và Jscript .
2 .Thư việ n các đố i tượng, chuyê n dù ng để truy xuấ t Database thô ng qua
ODBC Driver (Active Server Data Object – ADO).Thư việ n các đối tượng hỗ
trợ cho việ c viế t cá c trang ASP .
Mộ t file ASP thực chấ t là một văn bản, nó có thể bao gồm các thà nh phầ n
sau:
+Vă n Bản (Text)
+ Các HTML tag
+ Cá c Script . Mỗ i Script này sẽ thực hiện một công việc nào đó , giống
như các phát biểu củ a mộ t ngô n ngữ lậ p trình. Mộ t Script là một chuỗi
cá c lệ nh script, nó có thể là:
1. Mộ t phép gán giá trò cho một biến
2. Một yêu cầu Web server gửi thông tin đến Brower .
3. Tổ hợp cá c lệ nh riê ng rẽ thành một thủ tục hay một hàm giống
như trong các ngôn ngữ lậ p trình.
Việ c thi hành một script là quá trình gửi chuỗi cá c lệ nh tớ i Scripting Engine,
tại đâ y ASP sẽ thô ng dò ch các lệnh này và chuyể n tiế p cho má y tính. Script được
viế t bằng một ngôn ngữ với các luật được đặt tả nào đó, nếu ta muốn sử dụng một
script language nà o thì trê n server phả i chạy Script Engine cho ngô n ngữ đó. Trong
ASP cung cấ p hai Script Engine là VBScript và Jscript ( vớ i VBSCRIPT là mặc
nhiê n). Tuy nhiê n ASP khô ng phải là ngô n ngữ Script , mà nó chỉ cung cấp một
Tìm hiể u về ASP
Lưu hành nội bộ
4
môi trường để xử lý các Script mà ta chèn vào trong cá c file .asp , việ c chè n này
phả i tuâ n theo mộ t cú pháp nhất đònh củ a ASP.
Cú pháp
1.Dấu ngăn cá ch (Delimiter):
Trong vă n bản ASP ta sử dụng cá c dấ u <% và %> để ngăn cá ch phầ n vă n bản
HTML vớ i phầ n Script , hay cụ thể là bất cứ mộ t phá t biể u Script nào cũng đều
phải nằm giữa hai ngăn cách <% và %>
Ví dụ:
<% say = "Hello" %> là mộ t script thực hiệ n việ c gán chuỗi Hello vào
biế n say
♦ Biể u thứ c đơn :
Bạn cầ n đưa và o(include) bê n trong dấ u ngă n cá ch ASP nhiề u biể u thứ c cho
ngô n ngữ scripting đầ u tiê n. Ví dụ, vớ i dòng sau là kết quả cuối cùng của văn bản
vớ i thờ i gian hiệ n hà nh của server :
This page was last refeshed at<% =now %>
Trong trườ ng hợp nà y , Web server trả về giá trò now của hàm VBScript từ
browser vớ i text .
2.Câu lệ nh (Statement):
Mộ t câ u lệ nh trong VBScript hay trong ngô n ngữ script khác là một cấu
trúc dùng để thực hiện một thao tác, câu lệnh phải được khai báo hoặc đònh
nghó a trong ngô n ngữ scripting. Cá c ngô n ngữ script trong ASP cung cấ p cho ta
hầ u hế t các cấu trú c điề u khiể n : IF…ELSE, For, While, DO WHILE… cù ng
Tìm hiể u về ASP
Lưu hành nội bộ
5
vớ i nhữ ng kiể u dữ liệ u cơ bả n như integer , char, string, Array …sau sử dụng
Ví dụ: sử dụng câ u lệ nh If của VBScript
<% if Time >=#12:00:00 AM# And Time < #12 :00:00 PM# then
greeting ="Good Morning!";
else
greeting ="Hello!";
end if
%>
dòng sau sẽ gởi giá trò trong Green tơí Client browser
<FONT COLOR= "Green">
<%=greeting%>
</FONT>
3.SCRIPT tag:
Các phá t biể u , biể u thứ c , lệ nh, hay thủ tục mà bạn sử dụng bê n trong hai dấ u
ngă n cách <% và %> phả i được nhìn nhậ n bở i ngô n ngữ Script mặ c đò nh hoặ c ngô n
ngữ Script được khai báo ở đầ u trang ASP. Ngô n ngữ scripting mặ c đò nh củ a ASP
là VBScript , tuy nhiê n vớ i ASP ta vẫ n có thể sử dụng cá c ngô n ngữ lậ p trình khác
bê n trong bằ ng cách sử dụng thẻ <SCRIPT> và </SCRIPT>
Ví du:
<SCRIPT LANGUAGE="JSCRIPT">
<! hide Script from old browsers
for(i=0;i<10;i++ )
Tìm hiể u về ASP
Lưu hành nội bộ
6
docoment.write("for loop"+ i+"<br>")
docoment.write("second line of for loop"+ i+"<br>")
//end script hiding >
</SRIPT>
</BODY>
</HTML>
trong file ASP sau xử lý JScript trong hà m MyFunction
<HTML >
<BODY>
<%Call MyFunction %>
</BODY>
</HTML>
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
function MyFunction ()
{
Response.Write("MyFunction Called")
}
</SCRIPT>
Chú y
ù: bê n trong tag <SCRIPT></SCRIPT> phải là các thủ tục,không có một
biể u thứ c xuấ t hay phát biểu nào nằm bên ngoài các thủ tục.
4.Include file:
Khi tạo mộ t ứ ng dụng Web, bao gồ m nhiề u trang ASP, nế u như tòan bộ các
trang đề u cầ n sử dụng nhữ ngthô ng tin chung nào đó chẳng hạn như các hằng,giá trò
…để trá nh lại việ c đò nh nghó a lại các giá trò này ta có thể sử dụ ng cơ chế include
Tìm hiể u về ASP
Lưu hành nội bộ
7
file củ a ASP (giố ng như trong ngô n ngữ lậ p trình cổ điể n).Để include mộ t file trong
trang ASP ta sử dụng cú pháp sau:
<! #include Virtual/File="filename" >
Ví dụ: <! #include Virtual="whatever.asp" >
Bạ n phả i đò nh nghó a kiể u Virtual hoặ c file
Trong đó qui đò nh file được include phải có phần mở rộ ng la ø .inc hoặ c .asp ,
phầ n filename bao gồ m cả đườ ng dẫ n và tên file.
Ü sử dụng từ khó a virtual:
Tham số Virtual dù ng để chỉ đò nh rằ ng đườ ng dẫ n đượ c bắ t đầu với một thư
mục ả o(Virtual Directory)
Vd: <! # include virtual = " /whatever.asp" >
Sẽ include bất kỳ tập nà o trê n site củ a bạn(whatever là nằm trên thư mục
gố c củ a web server) nhưng bạn phải cung cấp tên tập tin với 1 đường dẫn
Ü sử dụng từ khóa file
Tham số file dùng để chỉ đò nh đườ ng dẫ n Relative,đượ c bắ t đầu với tên thư
mục chứ a file cầ n include.Chẳ ng hạn nế u bạn có 1 file trong thư mục myapp và
file header1.inc trong myapp/header , dòng sau sẽ chè n header1.inc vào trong file
của bạn .
<! #include file ="header/header1.inc" >
Chú ý rằng đường dẫn để include file headers / header1.inc thì có liê n quan
đế n việ c include file , nế u nộ i dung củ a script này có cú phá p include là thư mục
/myapp, cú pháp sẽ không hoạt động .
ASP includes files trướ c khi thực thi lệ nh script.Vì thế , bạn khô ng thể sử dụng
một lệnh script để xây dựng tên củ a 1 file include.chẳ ng hạn script sau khô ng thể
Tìm hiể u về ASP
Lưu hành nội bộ
8
mở file Header1.inc bở i vì ASP chiế m để thực thi chỉ thò include trướ c khi gán một
tê n file cho giá trò name
<! This script will fail >
<% name=(header1 & ".inc") %>
<! #include file="<%= name %>" >
Lệ nh script và thủ tục phải hoàn toàn bao hà m dấ u ngă n cá ch<% và %> trong
script,tag HTML <SCRIPT> và </SCRIPT> hoặ c tag HTML
<OBJECT>và</OBJECT>.
Ü sử dụng server script:
Để bổ sung 1 client Script,mặ c dù ASP sử dụng Script server site để xử lý văn
bản,bạn có thể mở rộng bằng cách sử dụng nó để phá t sinh ra client side script
sau được xử lý bở i client browser.ASP làm điều này bằng cá ch kế t hợp client_side
script bao gồ m nhữ ng chú thích HTML củ a server _side script và bao gồm cả dấu
ngă n cách:
<SCRIPT LANGUAGE="VBScript">
<!
client script
<% server script %>
client script
<% server script %>
client script
>
</SCRIPT>
Tìm hiể u về ASP
Lưu hành nội bộ
9
Vớ i chứ c nă ng trong scripts của bạn, bạn có thể tạo ra 1 ứ ng dụ ng thú vò.
Chẳ ng hạn script sau sử dụng mộ t database để cung cấ p mẫ u tin script client như là
kế t quả hành động của user.
Trong Script sau ASP tìm dữ liệ u từ Database và phá t ra mỗ i chương trình con
cho mỗ i dò ng dữ liệ u. Chương trình con đó điều khiển cái gì xả y ra khi 1 user
click và o liê n kế t trong trang hiể n thò trong client browser
Chú ý:
Trong script này sẽ khô ng có hàm củ a chính bản thân nó.Nó cho thấ y ở đây
chỉ minh họa chức năng củ a ASP nế u sử dụng trang liê n kế t vớ i Database,server-
side scripting và client-side scripting.
Lưu ý:
• Việ c include file có thể gây nên một vò ng lặ p nế u file được
include lại gọi include mộ t file khá c ,hay file ban đầ u.
• Vì Asp sẽ include file trướ c khi xử lý cá c Script cho nê n ta khô ng
thể sử dụng mộ t lệ nh mà lệnh nà y lạ i tạo ra mộ t lờ i gọi include, hoặ c sử
dụng include như sau là sai:
<% name =(header1&".inc")%>
<! #include file ="<%=namé >" >
• Ta cũ ng khô ng thể mở dấ u <% trong mộ t file include và đó ng %>
trong mộ t file include khác.ví dụ sau là sai:
<! This script will fail >
<%For i = 1 To n
statements in main file
<! #include file="header1.inc" >
Tìm hiể u về ASP
Lưu hành nội bộ
10
Next
%>
Script sau sẽ hoạt độ ng được:
<! This script would work >
<%
For i = 1 to n
statements in main file
%>
<! #include file="header1.inc" >
<% Next %>
III.CÁC ĐỐI TƯNG CƠ BẢN CỦA ASP:
ASP cung cấ p cho ngườ i lậ p trình các đối tượng có sẵn, mỗi đối tượng này sẽ
thực hiện một chức năng riêng nào đó, các đối tượng có sẵ n(built-in oject) bao
gồ m:
Tê n đối tượng Chức năng
Request Lấ y thô ng tin từ mộ t user
Respone Gử i thô ng tin tớ i mộ t user
Server Điề u khiể n mô i trườ ng hoạt độ ng của ASP
Session Lưu giữ thô ng tin về mộ t session của user
Application
Chia sẻ thô ng tin giữ a cá c user trong cù ng mộ t ứ ng
dụng.
III.1.Đố i tượng Request
Vớ i đố i tượng Request ,cá c ứ ng dụng ASP có thể dễ dà ng lấ y được thô ng tin
gử i tớ i từ user
Tìm hiể u về ASP
Lưu hành nội bộ
11
Đố i tượng Request cho phé p truy xuấ t chi tớ i bấ t kỳ thô ng tin nào user gửi tới
bằ ng giao thứ c HTTP như:
1. Cá c thô ng tin chuẩ n nằ m trong cá c biế n Server (Variable Server)
2. Cá c tham số được gử i tớ i bằ ng phương thứ c POST
3 .Cá c thô ng tin được gử i tớ i bằ ng phương thứ c GET
4. Cá c cookies( là thông tin củ a user được gử i kè m theo) tớ i từ Browser
5. Cá c Client Certificates
Đố i tượng Request tìm kiế m các giá trò mà client browser đưa vào server
trong khi có một yêu cầu HTTP
Cú pháp:
Request.collection|property|method
Collections
Cookies Giá trò của cá c cookie gở i trong yê u cầ u HTTP
Form Giá trò cá c phầ n tử form trong thâ n của yêu cầu HTTP
QueryString Giá trò của cá c biế n trong trong chuỗ i truy vấ n HTTP
ServerVariables
Giá trò của các biến môi trường đã đượ c xác đònh
trướ c
Properties
TotalBytes Tổ ng số byte client đang gở i trong thâ n của yêu cầu
Cá c tham số biế n là chuỗi ký tự chỉ rõ mục (item) được tìm kiế m từ một
collection hoặ c được sử dụng như là mục vào đối với mộ t phương thứ c (method)
hoặ c mộ t property
Ghi chú:
Tấ t cả các biến có thể được truy cậ p mộ t cách trực tiếp bằng cách gọi cú
phá p Request(variable) mà khô ng cầ n tê n collection.Trong trườ ng hợp này,
Web server tìm kiế m cá c collection theo thứ tự sau:
Tìm hiể u về ASP
Lưu hành nội bộ
12
1. QueryString
2. Form
3. Cookies
4. ClientCertificate
5. ServerVariables
1 . Làm việc với các HTML FORM
Sử dụng đố i tượng Request ,bạn có thể tạo và xử lý thông tin với HTML
FORM., HTLM FORM là cá ch thứ c thô ng thườ ng để trao đổ i thô ng tin giữ a
Web server và user, nó cung cấp nhiều cách nhập thông tin của user : Text
boxes, Buttons, Check boxes cho phép user tương tá c vớ i trang Web và
Submit thô ng tin tớ i mộ t Web Server.
Ví dụ: Tạo mộ t FORM để user có thể nhậ p và o họ tê n,tuổ i và đưa vào một nút để
submit thô ng tin tớ i Web server. FORM cũ ng chứ a mộ t điề u khiể n hidden để đưa
thê m thô ng tin tớ i Web server.
<FORM METHOD="POST" ACTION="myfile.asp">
<INPUT TYPE="text" NAME="firstname">
<INPUT TYPE="text" NAME="lastname">
<INPUT TYPE="text" NAME="age">
<INPUT TYPE="hidden" NAME="userstatus" VALUE= "new">
<INPUT TYPE="submit" VALUE="Enter">
</FORM>
III.2Xử lý FORM nhậ p vào với ASP
Khi mộ t FORM submit thô ng tin tớ i Web server,Web browser củ a user yê u
cầ u file.asp chỉ đònh trong thuộ c tính ACTION của thẻ HTML <FORM>. File.asp
chứ a đoạn script thực hiệ n việ c xử lý giá trò FORM như hiển thò mộ t bả ng nộ i dung
Tìm hiể u về ASP
Lưu hành nội bộ
13
kế t quả hoặc truy vấn thông tin từ một cơ sở dữ liệu.Bạn có thể sử dụng file .asp
để thu thậ p giá trò HTML FORM mộ t trong 3 cách:
„ File.html chứ a cá c form và submit giá trò của nó tới một file.asp.
„ File.asp có thể tạ o form và chuyể n giá trò tớ i mộ t file asp khác.
„ File.asp có thể tạ o form và gửi thông tin tới chính nó đó là đế n file.asp mà
chứ a đựng form.
III.3 Lấy thô ng tin nhập và o FORM
Sử dụng QueryString Collection
QueryString collection lấ y lại các giá trò form đưa vào Web
server của bạn như là một chuỗi sau sau một dấu ? trong yêu cầu URL. Việc sử
dụng Querystring collection là m cho việ c truy xuấ t thô ng tin trở nên dễ dàng hơn
Cú pháp
Request.QueryString(variable)[(index)|.
Count
]
Các tham số
variable
tê n củ a biế n trong chuỗ i query HTTP.
index
Cho phé p bạn truy vấ n mộ t trong các giá trò cho variable.Nó có thể là bất
ky ø số nguyên nà o trong khoả ng từ 1 tớ i Request.QueryString(variable).Count.
♦ Nế u phương thứ c gở i từ form là POST thì Querystring chứ a tấ t cả thông
tin gửi tới như là 1 tham số sau trang URL.
♦ Nế u phương thứ c gở i từ form là GET thì Querystring Collection chứ a
toà n bộ thô ng tin gử i tớ i như là các tham số đi đằ ng sau dấ u “?” trong URL .
Như vậy nếu phương thức là GET thì toà n bộ thô ng tin gở i tớ i sẽ nằ m trong
Querystring Collection.
Tìm hiể u về ASP
Lưu hành nội bộ
14
Ví dụ: nế u ví dụ trướ c đó sử dụng phương thứ c GET(ACTION= “GET”) và người
sử dụng gõ và o Jeff, Smith, và 30 ,sau đó yê u cầ u URL sẽ được gở i tớ i server là:
http://scripts/Myfile.asp?firstname=Jeff&lastname=Smith&age=30&userstatus=ne
w
Myfile.asp có thể chứa đoạn script xử lý như sau:
Hello, <%= Request.QueryString("firstname") %>
<%= Request.QueryString("lastname") %>.
You are <%= Request.QueryString("age") %> years old.
<%
If Request.QueryString("userstatus") = "new user" then
Response.Write"This is your first visit to this Web site!"
End if
%>
Trong trườ ng hợp nà y,Web sever của bạn sẽ trả về đoạn văn bản sau tới Web
browser của user:
Hello, Jeff Smith. You are 30 years old. This is your first visit to this Web site!
Khi có nhiều biến cù ng mộ t tê n và mỗi biến có giá trò khác
nhau.Khi đó , QueryString collection có một tham số dùng để truy cập nhiều giá trò
xuấ t hiệ n trong thâ n củ a yê u cầ u.Bạn có thể sử dụng đặ c tính Count để đếm số lần
mà một kiểu đặ c trưng giá trò xuất hiện .
Ví dụ:một FORM chứa một list box với nhiều mục có thể trả lại như sau:
?food=apples&food=olives&food=bread
Để hiể n thò nhiề u kiể u giá trò , List.asp có thể chứa đoạn script sau:
<%Total = Request.QueryString("food").Count%>
<%For i = 1 to Total%>
<%= Request.QueryString("food")(i) %> <BR>
<%Next%>
và kết quả hiển thò là:
apples
olives
bread
Tìm hiể u về ASP
Lưu hành nội bộ
15
III.4.Sử dụng Form Collection
Form collection chứ a toàn bộ các giá trò mà user nhập vào FORM sau đó gửi bằ ng
phương thứ c POST. Phương thứ c POST gở i dữ liệ u FORM trong thâ n yê u cầ u
HTTP,có t h ể g ở i k h ô n g g i ớ i h ạ n s ố k ý tự tới server
Cú pháp
Request.Form(element)[(index)|.Count]
Các thamsố
element
tê n củ a phầ n tử form collection cầ n truy vấ n.
index
Mộ t thamsố lựa chọn cho phé p bạn truy vấ n mộ t trong các giá trò đối với
một thamsố.Nó có thể là bất kỳ số integer nằ m trong vùng từ 1 đến
Request.Form(thamsố ).Count.
Ghi chú
Form collection được chỉ mục bở i tê n trong thâ n củ a yê u cầ u. Giá trò của
Request.Form(element) là một dãy của tất cả các giá trò củ a element xuấ t hiệ n
trong thâ n củ a yê u cầ u.Bạ n có thể xá c đònh số giá trò của một thamsố bằng cách
gọiRequest.Form(element).Count.
Để tham khảo một giá trò đơn của một phần tử form có nhiều giá trò,bạn phải
chỉ đònh một giá trò cho index.Thamsố index có thể là bất kỳ số nà o giữ a 1 và
Request.Form(element).Count.
Ví dụ : nế u user điề n vào FORM bằng cách đưa và o mộ t danh sách tên thì bạn có
thể lấy lại các tên với đoạn script sau:
<% For i = 1 to Request.Form.Count %>
<% =Request.Form("names")(i) %>
<% Next %>
Tìm hiể u về ASP
Lưu hành nội bộ
16
2.Sử dụng ServerVariables collection
ServerVariables collection lấ y lại các giá trò cá c biế n mô i trườ ng đã được
xá c đò nh trướ c ServerVariables cung cấ p thô ng tin từ tiê u đề HTTP với một
yê u cầ u củ a user .
Cú pháp
Request.ServerVariables (server environment variable)
Tham số
server environment variable: là tê n của biến môi trường.
Bạn có thể sử dụng vòng lặp để lặp thông qua tên các biến server.Ví dụ,đoạn
script sau sẽ in ra tất cả các giá trò của cá c biế n mô i trườ ng trong mộ t bảng.
<TABLE>
<TR><TD><B>ServerVariable</B></TD><TD><B>Value</B></TD></TR>
<% For Each name In Request.ServerVariables %>
<TR><TD><%=name%> </TD>
<TD> <%= Request.ServerVariables(name) %> </TD>
</TR>
</TABLE>
<% Next %>
Ví dụ:sử dụng đối tượng Request để hiển thò một số biến môi trường .
<HTML>
<! This example displays the content of several ServerVariables. >
ALL_HTTP server variable =
<%= Request.ServerVariables("ALL_HTTP") %> <BR>
CONTENT_LENGTH server variable =
<%= Request.ServerVariables("CONTENT_LENGTH") %> <BR>
Tìm hiể u về ASP
Lưu hành nội bộ
17
CONTENT_TYPE server variable =
<%= Request.ServerVariables("CONTENT_TYPE") %> <BR>
QUERY_STRING server variable =
<%= Request.ServerVariables("QUERY_STRING") %> <BR>
SERVER_SOFTWARE server variable =
<%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR>
</HTML>
Ví dụ : sử dụng ServerVariables collection để chèn tên server và o trong mộ t
siê u liê n kế t (hyperlink).
<A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %>
/scripts/MyPage.asp">Link to MyPage.asp</A>
III.5.Gửi thô ng tin trong cùng mộ t file.asp:
- Vớ i ASP bạ n phả i đònh nghó a độ ng 1 form trong 1 file.asp mà đặt giá trò
đầu vào trả lại chính bản thân nó.
- ASP cho phé p mộ t file.asp có chứ a From, khi user điề u khiể n các giá trò
và o From rồ i gử i (Submit) thì chính file.asp sẽ nhận được cá c thamtin này và xử
lý.
III.6.Đố i tượng Response
Bạn có thể sử dụng đố i tượng Response để gở i kế t xuấ t tớ i client.
Cú pháp
Response.collection|property|method
Collections
Cookies Chỉ đònh giá trò cookie và thiết lập các giá trò
Tìm hiể u về ASP
Lưu hành nội bộ
18
cookie .
Properties
Buffer Chỉ ra liệ u trang kế t xuấ t được đệm hay không.
ContentType
Chỉ đò nh kiể u nộ i dung HTTP(vd:”Text/HTML”)
khi đáp ứng.
Expires
Chỉ đò nh thờ i gian trướ c khi mộ t trang lưu trữ trê n
browser kế t thúc.
Status Server trả về giá trò của trạng thái dòng .
Methods
AddHeader
Thiết lập tên (name) tiê u đề HTML bằ ng giá trò
(value).
Clear Hủy bỏ vù ng đệ m kế t xuấ t HTML.
End
Dừ ng xử lý tậ p tin .asp và gởi trả kết quả hiện
hành.
Redirect Chỉ dẫ n browser kế t nố i tớ i mộ t URL khác.
Write
Xuấ t mộ t biế n tớ i trang hiệ n hành như là một
chuỗ i.
III.6.1 Gở i nội dung
Để gở i trở lại mộ t trang chứ a vă n bản,hình ảnh và cá c nộ i dung khác tới
browser bê n trong dấ u ngă n cách ASP hoặc từ một thủ tục. Sử dụng phương thứ c
Write của đố i tượng Response.
Cú pháp
Response.Write variant
Tìm hiể u về ASP
Lưu hành nội bộ
19
Tham số
variant
Dữ liệu để xuất. Tham số này có thể là bất kỳ dữ liệ u nà o mà ngô n ngữ
script hổ trợ(kể cả các ký tự,chuỗi,số nguyên).
Ví dụ1: câ u lệ nh gở i lờ i chào khác nhau tới user tùy thuộc và o user đã viếng thăm
trang trướ c đó bao nhiêu lần :
<%
If FirstTime = True Then
Response.Write "<H3 ALIGN=CENTER>Welcome to the Overview Page</H3>"
Else
Response.Write "<H3 ALIGN=CENTER>Welcome Back to the Overview
Page</H3>"
End If
%>
Bê n ngoài một thủ tục, bạn khô ng cầ n phả i sử dụng phương thứ c
Response.Write để gở i nộ i dung trở lại tớ i user.Nộ i dung nà y thì khô ng nằ m trong
dấ u ngă n cá ch scripting mà được gởi trực tiếp tới browser .
Ví dụ 2: đoạn script sau sẽ có kế t xuấ t như đoạn script trướ c :
<H3 ALIGN=CENTER>
<% If FirstTime Then %>
Welcome to the Overview Page.
<% Else %>
Welcome Back to the Overview Page.
<% End If %>
</H3>
III.6.2Gở i cookie tớ i browser
Mộ t Cookie được coi như mộ t dấ u hiệ u đi kè m theo ngườ i sử dụng trong
quá trình trao đổ i thô ng tin giữ a Client browser và Web server hoặc giữa Web
Tìm hiể u về ASP
Lưu hành nội bộ
20
server và Client browser . Cookies cung cấ p cho 1 kiể u củ a thamtin từ sự giao
kết với người sử dụng
Các script của ASP có thể sử dụng Cookies collection để thiế t lậ p giá trò
củ a mộ t Cookie. Khi dù ng Response.Cookies nế u cookie được đặ c tả chưa tồn
tại thì nó sẽ được tạo mớ i, nế u Cookie đã tồn tại thì nó sẽ lấy giá trò mới, giá trò
cũ sẽ bò loạ i bỏ.
Cú pháp:
Response.Cookies(cookie)[(key)|.attribute] = value
Các tham số
cookie
Tê n củ a cookie.
key
Tham số lựa chọn.Nếu key được chỉ đò nh, cookie là một từ điển và key thì
thiế t lậ p giá trò (value).
attribute
Chỉ đònh thông tin về cookie đó.Các thuộc tính có thể là:
Tên Mô tả
Domain
Nế u chỉ đònh, cookie chỉ được gở i tớ i yê u cầ u của vùngs
domain đó.
Expires
Ngà y cookie kế t thúc. Cookie sẽ kết thú c khi session kế t
thúc.
HasKeys Chỉ đònh cookie chứ a các khó a hay khô ng.
Tìm hiể u về ASP
Lưu hành nội bộ
21
Path
Nế u chỉ đònh,cookie chỉ được gở i yê u cầ u tớ i đườ ng dẫ n
nà y.Nế u khô ng,đườ ng dẫ n củ a chương trình ứ ng dụng được
dùng .
Secure Chỉ đònh có được bảo đả m hay khô ng.
Value
Giá trò để gán vào key hoặ c attribute.
Ví dụ : bạn có thể thiết lập giá trò cho một cookie và gán các giá trò vào
cá c thuộ c tính (attribute) của nó
<%
Response.Cookies("Type") = "Chocolate Chip"
Response.Cookies("Type").Expires = "July 31, 1997"
Response.Cookies("Type").Domain = "msn.com"
Response.Cookies("Type").Path = "/www/home/"
Response.Cookies("Type").Secure = FALSE
%>
III.6.3 Chuyển hướng điều khiể n browser
Thay vì gở i mộ t nộ i dung tớ i user, ta có t h ể g ở i m ộ t t h ô n g b áo đến browser
để nó chuyển tới một URL khác bằng cá ch sử dụng phương thứ c Redirect.
Cú pháp
Response.Redirect URL
Tham số
URL
Tìm hiể u về ASP
Lưu hành nội bộ
22
Đò a chỉ URL (Uniform Resource Locator) mà ta chuyể n hướ ng điề u khiể n
tớ i.
Ví dụ: bạn muố n khi khá ch thă m Web site của bạn thì họ đă ng ký trướ c khi sử
dụng nó.Ta tạo một Form có tên là register.asp :
register.asp
<HTML>
<HEAD><TILTE>Register</TILTE></HEAD>
<BODY>
<H4>Registration:</H4>
<FORM ACTION = "/regresults.asp" METHOD = "POST">
<P>Please enter your first name: <INPUT NAME = "FirstName"
TYPE=“TEXT” SIZE = 30>
<P>Please enter your last name: <INPUT NAME = "LastName"
TYPE=“TEXT” SIZE = 20>
<BR><INPUT TYPE = SUBMIT VALUE=“Register”>
</FORM>
</BODY>
</HTML>
Sau đó để kiể m tra xem user có đưa vào đầy đủ thô ng tin hay khô ng. Nế u
khô ng thì chuyể n hướ ng điề u khiể n về lại trang đă ng ký là “register.asp”.
regresults.asp
<%
If Request.Form(“FirstName”)=“” Then Response.Redirect “/register.asp”
%>
<HTML>
<HEAD><TILTE>Registration Results</TILTE></HEAD>
<BODY>
<%
Tìm hiể u về ASP
Lưu hành nội bộ
23
Thank you <% =Request.Form(“FirstName”) %> for registering!
%>
</BODY>
</HTML>
Chú ý
: Nế u sử dụng Response.Redirect sau khi mộ t nộ i dung đã được gử i về
cho user thì sẽ xảy ra lỗi.
III.6.4 Đệ m trang
Bình thườ ng, khi mộ t trang ASP được xử lý trên server, kết xuất được gởi
tớ i browser ngay lậ p tứ c sau khi mỗ i lệ nh trong trang được thực thi.
Khi bạn muốn đệm kết xuất củ a mộ t trang ASP thì server sẽ khô ng gở i
đáp ứng nà o tớ i client cho đế n khi tấ t cả cá c server script trong trang hiệ n hành đã
được xử lý hoặc là cho đế n khi phương thứ c Flush hoặ c End được gọi.
Buffer property khô ng thể thiế t lậ p khi server đã gử i nộ i dung về client, vì
thế để thiế t lậ p ta phả i gọi Response.Buffer ở đầ u trang.
Cú pháp
Response.Buffer [= flag]
Các tham số
flag
Chỉ đò nh trang kế t xuấ t có được đệm hay không.
Giá trò Mô tả
FALSE Khô ng đệ m.Server gở i kế t xuấ t tớ i client buffer được xử lý.
TRUE
Server khô ng gở i kế t xuấ t tớ i client cho đế n khi tấ t cả các đoạn
script ASP trê n trang hiê n hà nh đã đượ c xử lý hoặc cho đến khi
phương thứ c Flush hoặ c End được gọi.
Tìm hiể u về ASP
Lưu hành nội bộ
24
Giá trò Buffer mặ c đònh cho tấ t cả cá c trang ASP là FALSE. Tuy nhiê n bạn
có thể đặ t buffer của đối tượng Response là TRUE để thi hành cá c script trong
mộ t trang trướ c khi gở i tớ i user
Ví dụ: đoạn script này sẽ hiển thò các số từ 1 đế n 100 nhưng tấ t cả nộ i dung của
trang được gở i cùng một lú c tớ i browser cho đế n khi đoạn script xử lý xong.
<% Response.Buffer = True %>
<HTML>
<HEAD><TILTE>Buffer Example</TILTE></HEAD>
<BODY>
<%
For i=1 To 100
Response.Write i & “<BR>”
Next
%>
</BODY>
</HTML>
Có thể sử dụng Buffer để xác đònh tại một số điểm nào đó củ a trang được
xử lý, mà ở đó ta khô ng muố n gử i nộ i dung trướ c đó tới người sử dụng,lúc đó có
thể sử dụng phương thứ c Redirect để kế t nố i ngườ i sử dụng vớ i URL khác,
hoặ c sử dụng phương thứ c Clear để xó a Buffer và gở i nộ i dung khác tới người
sử dụng.
Ví dụ:
Choose.asp
<HTML>
<BODY>
<HEAD><TILTE></TILTE></HEAD>
<H4></H4>
<FORM ACTION = "jump.asp" METHOD = "GET">
<SELECT NAME=“whichpage” >
<OPTION SELECTED VALUE=“news” >News </OPTION>
Tìm hiể u về ASP
Lưu hành nội bộ
25
<OPTION VALUE=“sport” >Sport</OPTION>
<OPTION VALUE=“music” >Music</OPTION>
</SELECT>
<BR><INPUT TYPE = SUBMIT VALUE=“Choose” >
</FORM>
</BODY>
</HTML>
jump.asp
<% Response.Buffer = True %>
<HTML>
<HEAD><TILTE> </TILTE></HEAD>
<BODY>
<%
which=Request.QueryString(“whichpage”)
Select Case which
case “news”
Response.Redirect “/news.asp”
case “sport”
Response.Redirect “/sport.asp”
case “music”
Response.Redirect “/music.asp”
%>
</BODY>
</HTML>
III.6.5 Thiết lập kiểu nộ i dung của trang
ContentType property chỉ rõ kiể u nộ i dung của thân đá p ứ ng(kiể u MIME).
Cá c kiể u phổ biế n là : “text/HTML”, “image/GIF”, “application/msword” , , ,
“text/rtf”. Nế u ContentType khô ng được chỉ đònh,mặc đònh là text/HTML.