Đối tượng Request, Response

Một phần của tài liệu Đề cương bài giảng Thiết kế ứng dụng với ASP.NET - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM (Trang 116 - 120)

Http Request Resource

Http Response

Web Client Web Server

(Browser)

Quá trình Request - Response của HTTP

I.1. Đối tượng Response

Đối tượng Response được sử dụng để giao tiếp với Client, nó quản lý và điều phối thông tin từ Web Server đến các trình duyệt của người dùng.

I.1.1. Phương thức Write

Phương thức Write của đối tượng Response được dùng để in ra một chuỗi trên trang Web. Phương thức này là một trong những phương thức chủ lực trong các ứng dụng web sử dụng ASP 3.0 khi cần gởi kết quả từ Server về cho Client.

Response.Write("Chào bạn. Bạn đang tìm hiểu về đối tượng Response.") Trong ASP.Net, chúng ta có thể thực hiện như sau:

lblChao.Text = "Chào bạn. Bạn đang tìm hiểu về đối tượng Response."

Bài 6. XÂY DỰNG VÀ QUẢN LÝ ỨNG DỤNG

Response.Write, chúng ta không thể qui định vị trí hiển thị của chuỗi trên trong trang Web. Thay vào đó, với ASP.Net, thơng qua các Server control, chúng ta có thể thực hiện chức năng tương tự nhưng linh hoạt hơn bằng cách đặt điều khiển tại vị trí cần hiển thị.

I.1.2. Phương thức Redirect

Phương thức Redirect gởi thông điệp yêu cầu Web Browser truy cập đến một địa chỉ khác.

Ví dụ

'Nếu đăng nhập thành công If <Kiểm tra đăng nhập> Then

Response.Redirect("Chao.aspx") Else

Response.Redirect("Dang_nhap.aspx") End If

I.1.3. Ví dụ xử lý cho phép người dùng download file

Ví dụ: Xử dụng đối tượng Response để thực hiện việc download tập tin.

Lin kButton Thiết kế Thi hành Viết lệnh xử lý:

Private Sub lnkDownload_Click(sender …, e …) _

Handles lnkDownload.Click Dim sTap_tin As String = "MinhHoa.zip"

Dim sDuong_dan As String

sDuong_dan = Server.MapPath("../Download/") & sTap_tin Response.AddHeader("Content-Disposition", _

Response.WriteFile(sDuong_dan) Response.End()

End Sub

Hiển thị hộp thoại download tập tin

I.2. Đối tượng Request

Đối tượng Request được dùng để nhận thơng tin từ trình duyệt của người dùng gởi về cho Web Server.

I.2.1. Thuộc tính QueryString

Như chúng tơi đã trình bày ở phần đầu của cuốn sách này, HTTP được xác định qua URLs (Uniform Resource Locators), với cấu trúc chuỗi có định dạng như sau:

http: // <host> [: <port>] [ <path> [? <QueryString>]]

Phần cuối của chuỗi URL là QueryString - cịn được gọi là chuỗi tham số, có cấu trúc như sau:

[?Tham_so_1=gia_tri_1[&Tham_so_2=gia_tri_2[&……]]]

Trong trường hợp có nhiều tham số, các cặp [<Tham_so> = <Gia_tri>] phân cách nhau bằng dấu &.

Ví dụ:

http://www.tuoitre.com.vn/Tianyon/Index.aspx?PID=16

http://www.tuoitre.com.vn/Tianyon/Index.aspx?ArticleID=89211&PID=16

Bài 6. XÂY DỰNG VÀ QUẢN LÝ ỨNG DỤNG

truyền qua chuỗi tham số này.

Request.QueryString("Tên_tham_số")

Ví dụ: Giả sử một người dùng gởi thông điệp đến Web Server

yêu cầu trang: "Request.aspx?Chuc_nang=Hieu_chinh&ID=123". Để lấy giá trị 2 tham số trong chuỗi QueryString, chúng ta thực hiện như sau:

Dim sChuc_nang As String

sChuc_nang = Request.QueryString("Chuc_nang") lblChuc_nang.Text = sChuc_nang Dim Id As Integer Id = Request.QueryString("ID") lblId.Text = Id

Trong trường hợp tên tham số không tồn tại trong chuỗi QueryString, thuộc tính Request.QueryString() sẽ trả về giá trị nothing.

Nếu bạn để ý trong đoạn lệnh xử lý trên, chúng ta có thực hiện khai báo các biến với kiểu dữ liệu tương ứng các tham số, nhận kết quả trả về từ thuộc tính Request.QueryString(). Trong trường hợp tham số không được truyền trong chuỗi URL hoặc có truyền mà sai kiểu dữ liệu,các biến được tạo sẽ có giá trị mặc định tương ứng với kiểu dữ liệu của nó, tránh được các lỗi về kiểu dữ liệu khơng đáng có.

I.2.2. Các ví dụ minh họa

Ví dụ: Lấy thơng tin các trình duyệt của người dùng.

Dim sThong_tin As String With Request.Browser

sThong_tin &= "Browser: " & .Browser & "<br>" sThong_tin &= "Version: " & .Version & "<br>" sThong_tin &= "Platform: " & .Platform & "<br>" sThong_tin &= "JavaScript: " & .JavaScript & "<br>" lblThong_tin.Text = sThong_tin

End With

Ví dụ: Liệt kê danh sách các biến Server

Dim sServer As String, i As Integer With Request.ServerVariables

For i = 0 To .Count - 1

sServer &= .Keys(i) & ": " & .Item(i) & "<br>" Next i

lblServer.Text = sServer End With

Danh sách các biến Server

Một phần của tài liệu Đề cương bài giảng Thiết kế ứng dụng với ASP.NET - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM (Trang 116 - 120)