NGÔN NGỮ LẬP TRÌNH ASP
4. CÁC ĐỐI TƯỢNG CƠ BẢN TRONG ASP
4.2.3. Phương thức (Method) của đối tượng Response
AddHeader
Phương thức AddHeader thêm một header HTTP mới và một giá trịcho HTTPresponse. Một khi một headerđược thêm vào thì ta không thểgỡbỏnó ra.
Trong IIS 4.0, bạn phải gọi phương thức này trước bất kỳ kết quả nào gởi tới browser. Trong IIS 5.0 bạn có thể gọi phương thứcAddHeader tại bất cứnơi nào trong script nhưng phải đứng trước bất cứlời gọi hàm Response.Flush nào trong trang.
Cú pháp:
Response.AddHeadername,value
trongđónamelà tên của header cònvaluelà giá trịcủa header.
Ví dụ:
<%
Response.AddHeader ”Cảnh báo”, ”Máy của bạn có Virus”
%>
Chú ý: Tên của header khôngđược chứa dấu gạch dưới.
AppendToLog
Phương thức này thêm một một chuỗi vào cuối mụclogcủa trình chủ. Bạn có thể gọi phương thức này nhiều lần trong một script, mỗi lần gọi sẽgắn thêm một chuỗi vào mụclogcủa trình chủ.
Cú pháp:
Response.AppendToLog (string) Ví dụ:
<%
Response.AppendToLog ”Client co virus!”
%>
Chú ý: Chuỗi cần ghi vào mụclogkhôngđược chứa bất kỳdấu phẩy (,) nào.
BinaryWrite
Phương thức này ghi dữ liệu trực tiếp xuống browser mà không phải chuyển đổi bất kỳ ký tự nào. Phương thức này thườngđược dùngđể ghi dữ liệuảnh (BLOB) từcơsởdữ liệu xuống browser.
Cú pháp:
Response.BinaryWrite (data)
Clear
Phương thức này xóa tất cả các kết xuất HTML được trình chủ đưa vào vùng đệm. Nhưng phương thức này không xóa phần header của đối tượng Response mà chỉ xóa phần nội dung của đối tượng Response. Nếu thuộc tính Buffer của đối tượngResponseđượcđặt là false thì phương thức này sẽgây ra lỗi lúc thi hành (vì không có vùng buffer thì lấy gì mà xóa!!!).
Cú pháp:
Response.Clear
Ví dụ:
<%
Response.Buffer = true
%>
<HTML>
<HEAD>
<TITLE> Kiểm tra phương thức Clear </TITLE> </HEAD>
<BODY>
<P> Đây là phần nội dung của trang Web. Nội dung này sẽ được gởi tới người dùng</P>
<P> Bắtđầu xóa Buffer </P>
<%
Response.Clear
%>
</BODY>
</HTML>
Kết quảkhi duyệt trang web này là người dùng không thấy gì cả(vì trang HTML mà server đưa vào trong vùngđệm chưa kịp gởiđã bịxóa bởi việc gọi phương thức clear.)
End
Phương thức này dùngđểdừng việc xửlý một script và trả về kết quả hiện tại. Nếu thuộc tính Buffer được đặt là true thì khi gọi phương thức này Server sẽgởi các kết xuất HTMLđược lưu trong vùngđệm xuống browser. Nếu ta không muốnđưa kết quả xuống cho browser thì ta gọi phương thức clear trước khi gọi phương thức này.
Cú pháp:
Response.End Ví dụ:
<HTML>
<BODY>
<P> Đoạn văn bản này sẽ được gởi tới browser và người dùng có thểđọcđược</P>
<%
Response.End
%>
<P>Đoạn văn bản này sẽkhôngđược gởi và đã gọi phương thức End rồi</P>
</BODY>
</HTML>
Flush
Gọi phương thức này để chuyển các kết xuất HTML mà Server lưu giữlại trong vùngđệm xuống browser ngay lập tức.
Nếu thuộc tính Bufferđượcđặt là false thì thuộc tính này sẽgây ra lỗi lúc thi hành.
Cú pháp:
Response.End Ví dụ:
<%
Response.Buffer = true
%>
<HTML>
<BODY>
<P>Đoạn văn bản này sẽ được gởi tới người dùng ngay khi gọi phương thức Flush. <P>
<P> Một số đoạn văn bản khác sẽ được gởi sau một lúc nữa!!! </P>
<%
Response.Flush Dim i
For i = 1 to 1000 Response.Write ” ”
Response.Write ”Đây làđoạn văn bản tiếp theo!”
Response.Flush
%>
</BODY>
</HTML>
Redirect
Phương thức này dùngđểchuyển người dùngđến một trang khácđược chỉđịnh trongđường dẫn URL.
Cú pháp:
Response.Redirect (URL)
Ví dụsauđây minh họa việcđăng nhập của người dùng.
Tạo tập tinlogin.aspvới nội dung sau:
<HTML>
<HEAD>
<TITLE> Login to …</TITLE>
</HEAD>
<BODY>
<B>Login</B><BR>
<form method = “post” action = “validate.asp”>
Username: <input type = “text” size = “15%” name =
“UserName”> <BR>
Password: <input type = “password” size = “15%” name =
“Password”>
<P>
<input type = “submit” value = “Login” name = “login”>
</P>
</FORM>
</BODY>
</HTML>
Tạo tập tinvalidate.aspvới nội dung sau:
<HTML>
<BODY>
<%
Dim User, Pass
User = Request.Form(“UserName”) Pass = Request.Form(“Password”)
If (User = “sv”) and (Pass = “1234”) Then Response.Redirect “success.asp”
Else
Response.Redirect “login.asp”
End If
%>
</BODY>
</HTML>
Tạo tập tinsuccess.aspvới nội dung sau:
<HTML>
<BODY>
<P> Bạnđãđăng nhập thành công! </P>
</BODY>
</HTML>
Write
Phương thức này dùngđểghi dữliệu ra tập tin kết xuất dạng HTML để gởi cho browser. Dữ liệu này có thể là số, chuỗi, ngày, ...
Cú pháp:
Response.Write (text)
Ví dụ:
<HTML>
<BODY>
<%
Response. Write ( “Chào bạnđến với ASP!” & “<BR>”) Dim x
x = 100
Response.Write x
%>
</BODY>
</HTML>