Đối tượng Request, Response

Một phần của tài liệu Tài liệu giảng dạy Asp.net (Trang 119 - 123)

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.")

Web Client (Browser) Resource Web Server Http Response Http Request

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."

Qua ví dụ trên, chắc cĩ lẽ bạn cũng nhận ra rằng, khi sử dụng phương thức 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.

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", _

"attachment; filename=" + sTap_tin) 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

Thuộc tính QueryString của đối tượng Request cho phép chúng ta nhận các giá trị 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

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

Thơng tin của trình duyệt tại Client 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 Tài liệu giảng dạy Asp.net (Trang 119 - 123)

Tải bản đầy đủ (PDF)

(175 trang)