Tham khảo nhanh ASP

Tham khảo nhanh ASP từ CodeW3C.com. In ra, bỏ vào túi, để sử dụng bất cứ lúc nào.

Cú pháp cơ bản

ASP kịch bản được bao bọc bởi <% và %>. Nó sẽ hiển thị nội dung lên trình duyệt:

<html>
<body>
<% response.write("Hello World!") %>
</body>
</html>

Ngôn ngữ mặc định trong ASP là VBScript. Nếu muốn sử dụng ngôn ngữ脚本 khác, hãy chèn một đoạn khai báo ngôn ngữ ở đầu trang ASP:

<%@ language="javascript" %>
<html>
<body>
<%
....
%>

Biểu mẫu và đầu vào người dùng

Request.QueryString được sử dụng để thu thập giá trị từ biểu mẫu có method="get". Thông tin được gửi qua GET có thể nhìn thấy bởi mọi người (sẽ hiển thị trong thanh địa chỉ của trình duyệt), và cũng có giới hạn về lượng dữ liệu được gửi.

Request.Form được sử dụng để thu thập giá trị từ biểu mẫu có method="post". Thông tin được gửi qua POST từ biểu mẫu không thể nhìn thấy bởi người khác, và không có giới hạn về lượng dữ liệu được gửi.

Cookies ASP

Cookie thường được sử dụng để nhận diện người dùng. Cookie là một tệp nhỏ mà máy chủ chèn vào máy tính của người dùng. Mỗi khi cùng một máy tính gửi yêu cầu trang web bằng trình duyệt, cookie cũng sẽ được gửi đi.

Lệnh Response.Cookies được sử dụng để tạo cookie:

<%
Response.Cookies("firstname")="Alex"
Response.Cookies("firstname").Expires="May 10,2012"
%>

Chú ý: Lệnh Response.Cookies phải nằm trước thẻ <html>!

Lệnh "Request.Cookies" được sử dụng để lấy giá trị cookie:

<%
fname=Request.Cookies("firstname")
response.write("Firstname=" & fname)
%>

Tham chiếu tệp

Bằng lệnh #include, trước khi máy chủ thực thi, bạn có thể chèn nội dung của một tệp ASP vào một tệp ASP khác. Lệnh #include được sử dụng để tạo hàm, tiêu đề trang, chân trang, hoặc các phần được sử dụng lại trên nhiều trang.

Cú pháp:

<!--#include virtual="somefile.inc"-->

hoặc

<!--#include file ="somefile.inc"-->

Vui lòng sử dụng từ khóa virtual để chỉ định đường dẫn bắt đầu từ thư mục ảo. Nếu tệp có tên "header.inc" nằm trong thư mục ảo có tên /html, thì mã dưới đây sẽ chèn nội dung của "header.inc":

<!-- #include virtual ="/html/header.inc" -->

请使用关键词 file 来指示相对路径。相对路径以包含该引用文件的目录开头。如果您的文件位于 html 目录中,而文件 "header.inc" 位于 html\headers 中,下面的代码将在您的文件中插入 "header.inc" 的内容:

Vui lòng sử dụng từ khóa file để chỉ định đường dẫn tương đối. Đường dẫn tương đối bắt đầu từ thư mục chứa tệp tham chiếu. Nếu tệp của bạn nằm trong thư mục html, mà tệp "header.inc" nằm trong html\headers, mã dưới đây sẽ chèn nội dung của "header.inc" vào tệp của bạn: }}

<!-- #include file ="headers\header.inc" -->

Vui lòng sử dụng từ khóa file và ngữ pháp (..\) để tham chiếu đến thư mục cao hơn. Ví dụ:

Global.asa

Chú thích: Tệp Global.asa là tệp tùy chọn, có thể chứa các đối tượng, biến và phương pháp mà các trang ASP trong ứng dụng có thể truy cập.

Tệp Global.asa chỉ có thể chứa nội dung sau:

  • Sự kiện Application
  • Sự kiện Session
  • Định nghĩa <object>
  • Khai báo TypeLibrary
  • Hướng dẫn #include

Sự kiện Application và Session

Trong Global.asa, bạn có thể cho biết đối tượng application và session cần làm gì khi application/session bắt đầu và kết thúc. Mã hoàn thành nhiệm vụ này nằm trong sự kiện xử lý.

Chú thích: Khi chèn mã vào tệp Global.asa, chúng ta không sử dụng <% và %>, chúng ta cần đặt hàm trong thẻ <script> HTML:

<script language="vbscript" runat="server">
sub Application_OnStart
  ' một số mã
end sub
sub Application_OnEnd
  ' một số mã
end sub
sub Session_OnStart
  ' một số mã
end sub
sub Session_OnEnd
  ' một số mã
end sub
</script>

Định nghĩa <object>

Bằng cách sử dụng thẻ <object>, bạn cũng có thể tạo đối tượng với phạm vi session hoặc application trong Global.asa.

Chú thích: Thẻ <object> nên nằm ngoài thẻ <script>!

Cú pháp:

<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
......
</object>

Khai báo TypeLibrary

TypeLibrary là bộ chứa nội dung của tệp DLL tương ứng với đối tượng COM. Bằng cách bao gồm gọi TypeLibrary trong tệp Global.asa, bạn có thể truy cập các hằng số của đối tượng COM và mã ASP cũng có thể báo cáo lỗi tốt hơn. Nếu ứng dụng web của bạn phụ thuộc vào đối tượng COM đã được khai báo trong thư viện loại, bạn có thể khai báo thư viện loại này trong tệp Global.asa.

Cú pháp:

<!--
METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->

Đối tượng Session

Đối tượng Session được sử dụng để lưu trữ thông tin về session của người dùng hoặc thay đổi cài đặt của nó. Các biến được lưu trữ trong đối tượng Session chứa thông tin về người dùng cá nhân và có thể được truy cập bởi tất cả các trang trong ứng dụng.

Bộ sưu tập

  • Contents - Chứa tất cả các mục được thêm vào session bằng lệnh kịch bản
  • StaticObjects - Chứa tất cả các đối tượng được thêm vào session bằng thẻ <object> của HTML
  • Contents.Remove(item/index) - Xóa một mục từ bộ sưu tập Contents
  • Contents.RemoveAll() - Xóa tất cả các mục trong bộ sưu tập Contents

Thuộc tính

  • CodePage - Định nghĩa bảng mã được sử dụng để hiển thị nội dung động
  • LCID - Thiết lập dấu hiệu khu vực được sử dụng để hiển thị nội dung động
  • SessionID - Trả về ID session
  • Timeout - Thiết lập hoặc trả về thời gian chờ đợi của session

Phương thức

  • Abandon - Hủy bỏ tất cả các đối tượng trong đối tượng session.

Đối tượng Application

Một nhóm tệp ASP làm việc cùng nhau để hoàn thành một nhiệm vụ được gọi là một ứng dụng. Đối tượng Application trong ASP được sử dụng để gắn kết các tệp lại với nhau. Tất cả các người dùng sẽ gắn kết một đối tượng Application. Đối tượng Application nên chứa thông tin được nhiều trang của ứng dụng sử dụng (ví dụ: thông tin kết nối cơ sở dữ liệu).

Bộ sưu tập

  • Nội dung - Chứa tất cả các mục được thêm vào ứng dụng bằng lệnh kịch bản.
  • StaticObjects - Chứa tất cả các đối tượng được thêm vào ứng dụng bằng thẻ <object> sử dụng HTML
  • Contents.Remove - Xóa một mục từ bộ sưu tập Contents
  • Contents.RemoveAll - Xóa tất cả các mục từ bộ sưu tập Contents

Phương thức

  • Lock - Ngăn cản người dùng chỉnh sửa biến của đối tượng Application
  • Unlock - Cho phép người dùng chỉnh sửa biến của đối tượng Application

Đối tượng Response

Đối tượng Response được sử dụng để gửi đầu ra từ máy chủ đến người dùng

Bộ sưu tập

Cookies(name) - Đặt giá trị của cookie. Nếu không tồn tại, sẽ tạo cookie mới và đặt giá trị được chỉ định

Thuộc tính

  • Buffer - Định nghĩa có nên bộ nhớ cache đầu ra hay không. Khi đầu ra được bộ nhớ cache, máy chủ sẽ ngăn chặn phản hồi đến trình duyệt cho đến khi tất cả các script máy chủ được xử lý, hoặc khi script gọi phương thức Flush hoặc End. Nếu cần thiết đặt thuộc tính này, nó nên nằm trước thẻ <html> trong tệp .asp
  • CacheControl - Đặt xem máy chủ proxy có thể bộ nhớ cache đầu ra do ASP tạo ra hay không. Nếu được đặt là Public, máy chủ proxy sẽ bộ nhớ cache trang
  • Charset(charset_name) - Thêm tên bảng mã vào đầu đề content-type của đối tượng phản hồi
  • ContentType - Đặt loại nội dung HTTP của đối tượng phản hồi. Ví dụ: "text/html", "image/gif", "image/jpeg", "text/plain". Mặc định là "text/html"
  • Expires - Đặt thời gian bộ nhớ cache trang trên trình duyệt trước khi hết hạn (phút)
  • ExpiresAbsolute - Đặt ngày và giờ hết hạn của bộ nhớ cache trang trên trình duyệt
  • IsClientConnected - Chỉ ra rằng khách hàng có đã ngắt kết nối với máy chủ hay không
  • Pics(pics_label) - Thêm giá trị vào dấu hiệu PICS của đầu đề phản hồi
  • Status - Định nghĩa giá trị của dòng trạng thái được máy chủ trả về

Phương thức

  • AddHeader(name, value) - Thêm mới các đầu đề HTTP và giá trị mới vào phản hồi HTTP
  • AppendToLog string - Thêm chuỗi vào cuối của bản ghi log trên máy chủ (server log entry)
  • BinaryWrite(data_to_write) - Ghi dữ liệu vào đầu ra mà không có bất kỳ sự chuyển đổi nào.
  • Clear - Xóa đầu ra đã lưu trữ. Sử dụng phương pháp này để xử lý lỗi. Nếu Response.Buffer không được đặt thành true, phương pháp này sẽ gây ra lỗi thời gian chạy.
  • End - Dừng xử lý đoạn mã và trả về kết quả hiện tại.
  • Flush - Gửi ngay lập tức đầu ra đã lưu trữ. Nếu Response.Buffer không được đặt thành true, phương pháp này sẽ gây ra lỗi thời gian chạy.
  • Redirect(url) - Chuyển hướng người dùng đến một URL khác.
  • Write(data_to_write) - Ghi văn bản cho người dùng.

Đối tượng Request

Khi trình duyệt yêu cầu trang từ máy chủ, nó được gọi là request. Đối tượng request được sử dụng để lấy thông tin từ người dùng.

Bộ sưu tập

  • ClientCertificate - Chứa giá trị của các trường được lưu trữ trong chứng chỉ khách hàng.
  • Cookies(name) - Chứa giá trị của cookie.
  • Form(element_name) - Chứa giá trị của biểu mẫu. Biểu mẫu này phải sử dụng phương pháp post.
  • QueryString(variable_name) - Chứa giá trị của biến trong chuỗi yêu cầu.
  • ServerVariables(server_variable) - Chứa giá trị của biến máy chủ.

Thuộc tính

  • TotalBytes - Trả về tổng số byte được gửi bởi client trong phần正文 của yêu cầu.

Phương thức

  • BinaryRead - Trả về dữ liệu được gửi từ客户端 đến máy chủ như một phần của yêu cầu post.

Đối tượng Server

Đối tượng Server được sử dụng để truy cập thuộc tính và phương thức trên máy chủ.

Thuộc tính

ScriptTimeout - Đặt hoặc trả về thời gian chạy tối đa của một đoạn mã trước khi kết thúc.

Phương thức

  • CreateObject(type_of_object) - Tạo đối tượng实例
  • Execute(path) - Chạy một tệp ASP khác từ bên trong tệp ASP. Sau khi tệp ASP được gọi hoàn thành, quyền kiểm soát sẽ trả về tệp ASP ban đầu
  • ) - Trả về đối tượng ASPError mô tả lỗi đã xảy ra
  • HTMLEncode(string) - Áp dụng mã hóa HTML cho chuỗi
  • MapPath(path) - Đặt tương đối hoặc đường dẫn ảo thành đường dẫn vật lý
  • Transfer(path) - Gửi tất cả thông tin trạng thái đến tệp khác để xử lý. Sau khi truyền, quyền kiểm soát của chương trình sẽ không quay lại tệp ASP ban đầu
  • URLEncode(string) - Áp dụng quy tắc mã hóa URL cho chuỗi

Nguồn: http://www.codew3c.com/asp/asp_quickref.asp