CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 237

237

Chương 7: ASP.NET và Web Form

Sử dụng phương thức

HttpResponse.Redirect

để chuyển người dùng đến một

URL mới, hoặc sử dụng phương thức

HttpServerUtility.Transfer

(nhanh hơn)

để chuyển người dùng đến một Web Form ASP.NET khác trên cùng server.

Cách dễ nhất để chuyển người dùng từ một trang này đến một trang khác là sử dụng phương
thức

HttpResponse.Redirect

và cấp một URL mới. Bạn có thể truy xuất đối tượng

HttpResponse

hiện tại thông qua đối tượng

HttpContext

hoặc sử dụng thuộc tính

Reponse

của

đối tượng

Page

hoặc

Control

. Phương thức thụ lý sự kiện dưới đây (đáp ứng cho một cú nhắp

chuột vào

Button

) sẽ chuyển người dùng đến một trang ASP.NET mới:

private void cmdRedirect_Click(object sender, System.EventArgs e) {

Response.Redirect("newpage.aspx");

}

Phương thức

Redirect

có thể làm việc với URL tương đối (chỉ đến những tài nguyên trong

cùng thư mục ảo), và với URL đầy đủ. URL có thể chỉ đến trang ASP.NET khác, kiểu tài liệu
khác (như trang HTML hoặc hình ảnh), và web-server khác.
Phương thức

Redirect

gửi chỉ thị chuyển hướng đến trình duyệt. Kế đó, trình duyệt sẽ yêu cầu

trang mới. Kết quả là trình duyệt phải thực hiện hai chuyến đến web-server, và web-server
phải xử lý thêm một yêu cầu nữa. Một tùy chọn hiệu quả hơn là sử dụng phương thức

HttpServerUtility.Transfer

, phương thức này sẽ chuyển sự thực thi đến một trang ASP.NET

khác trên cùng web-server. Ví dụ:

private void cmdRedirect_Click(object sender, System.EventArgs e) {

Server.Transfer("newpage.aspx");

}

Phương thức

Transfer

không cần thêm một chuyến đến client, nhưng nó sẽ không làm việc

nếu bạn cần chuyển sự thực thi đến một server khác hoặc một kiểu tài nguyên khác với Web
Form
(bao gồm trang ASP cổ điển).

2.

2.

Duy trì tr ng thái gi a các yêu c u c a trang

ầ ủ

Duy trì tr ng thái gi a các yêu c u c a trang

ầ ủ

Bạn cần lưu trữ vài thông tin đặc thù của người dùng giữa các lần postback của
trang.

Sử dụng view state (trạng thái nhìn), query string argument (đối số chuỗi truy
vấn), session state
(trạng thái phiên làm việc), hoặc cookie, tùy thuộc vào nhu cầu
của bạn.

ASP.NET là một mô hình lập trình phi trạng thái (stateless programming model). Mỗi khi một
postback được phát sinh, mã sẽ nạp vào bộ nhớ, thực thi, và được giải phóng khỏi bộ nhớ.
Nếu muốn giữ lại vết của thông tin sau khi mã đã hoàn tất việc xử lý, bạn phải sử dụng các
kiểu quản lý trạng thái (state management).

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.