event handle

18
Chương : XỬ LÝ XỰ KIỆN Lập trình Web Lập trình Web 1 Lập trình Web

Upload: cong-thanh-nguyen

Post on 19-Jan-2017

609 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Event Handle

Chương : XỬ LÝ XỰ KIỆN

Lập trình Web Lập trình Web

1 Lập trình Web

Page 2: Event Handle

Vòng đời của web formVòng đời của web formỨng dụng web vẫn tồn tại nếu nó vẫn còn ít nhất một

session (phiên làm việc) hoạt động.Web form chỉ tồn tại trong khoảng thời gian ngắn.Vòng đời của ứng dụng web bắt đầu khi có một trình

duyệt yêu cầu một trang của ứng dụng, khi đó:Web server sẽ khởi động phần thực thi của ứng dụng web để

trả lới yêu cầu của client.Phần thực thi sẽ khởi tạo một phiên bản của web form được

yêu cầu, phát sinh mã html để trả lời yêu cầu và gửi trả lời về cho trình duyện.

Sau đó, phiên bản của web form sẽ bị hủy.

Lập trình Web 2

Page 3: Event Handle

Khởi tạo web formKhởi tạo web form

Lập trình Web 3

Page 4: Event Handle

Sự kiện trong vòng đời web formSự kiện trong vòng đời web formSau khi trình duyệt hiển thị mã html nhận được, người dùng

có thể tương tác với các điều khiển như gõ vào textbox, lựa chọn trong listbox hay thực hiện các tác vụ khác cho đến khi thực hiện tác vụ làm phát sinh sự kiện post-back (ví dụ nhấn nút)

Sự kiên post-back khiến trình duyệt gửi lại dữ liệu của trang (dưới dạng view state)về cho server xử lý.

Sau khi nhận được view state, server khởi tạo phiên bản mới của web form, đổ dữ liệu từ view state vào web form sau đó thực hiện việc xử lý các xự kiện đã phát sinh.

Sau khi xử lý xong, server trả kết quả lại cho trình duyệt dưới dạng html và hủy phiên bản web form vừa tạo.

Lập trình Web 4

Page 5: Event Handle

Sự kiện trong vòng đời web formSự kiện trong vòng đời web form

Lập trình Web 5

Page 6: Event Handle

Vòng đời của ứng dụng webVòng đời của ứng dụng webKhi người dùng đóng trình duyệt hoặc chuyển sang

website khác, sesion của người dùng kết thúc.

Nếu không tồn tại session của người dùng nào ứng dụng web sẽ kết thúc.

Chú ý: Điều này không sảy ra tức thời do cơ chế quản lý bộ nhớ của ASP.NET. Do đó không thể nói chính xác khi nào sự kiện Application_End sảy ra.

Lập trình Web 6

Page 7: Event Handle

Vòng đời của ứng dụng webVòng đời của ứng dụng web

Lập trình Web 7

Page 8: Event Handle

Cách bảo toàn dữ liệu web formCách bảo toàn dữ liệu web formDo web form chỉ tồn tại giữa một thời gian ngắn,

ASP.NET thực hiện các bước sau để bảo toàn dữ liệu được nhập vào trên các web form.Dữ liệu được nhập vào các điều khiển sẽ được gửi cùng yêu

cầu của trình duyệt Dữ liệu này sẽ được nạp vào các điều khiển trong hàm sự

kiện Page_Init.Dữ liệu từ các điều khiển sẵn sàng để sử dụng trong hàm sự

kiện Page_Load

Lập trình Web 8

Page 9: Event Handle

Cách bảo toàn dữ liệu cho web formCách bảo toàn dữ liệu cho web form

Lập trình Web 9

Page 10: Event Handle

Cách bảo toàn dữ liệu cho web form Cách bảo toàn dữ liệu cho web form (2)(2)View state của web form là:

Dữ liệu được web form bảo toàn giữa các yêu cầu của trình duyệt.

View state chỉ được sử dụng cho từng web form.Để bảo toàn và sử dụng dữ liệu trên nhiều web form thì

phải sử dụng biến trạng thái mức ứng dụng hay mức session.

Lập trình Web 10

Page 11: Event Handle

Sự kiện mức ứng dụng và sự kiện Sự kiện mức ứng dụng và sự kiện mức phiên làm việcmức phiên làm việcSử dụng sự kiện mức ứng dụng để khởi tạo các đối tượng

chung cho tất cả người dùng của ứng dụng web.

Sử dụng sự kiện mức phiên làm việc để khởi tạo các đối tượng chung cho một phiên làm việc nhưng không dùng chung cho tất cả mọi người.

Hàm điều khiển sự kiện mức ứng dụng và mức phiên làm việc nằm trong tập tin Global.asax

Lập trình Web 11

Page 12: Event Handle

Các sự kiện mức ứng dụngCác sự kiện mức ứng dụngApplication_Start – Xảy ra khi ứng dụng được khởi động

Application_End – Xảy ra khi ứng dụng kết thúc.

Application_BeginRequest – Sảy ra mỗi khi trình duyệt di chuyển đến một trang của ứng dụng.

Application_EndRequest – Kết thúc yêu cầu của trình duyệt

Lập trình Web 12

Page 13: Event Handle

Các sự kiện mức phiên làm việcCác sự kiện mức phiên làm việc

Session_Start – Xảy ra khi một phiên làm việc mới được bắt đầu.

Session_End – Xảy ra khi một phiên làm việc kết thúc.

Lập trình Web 13

Page 14: Event Handle

Sự kiện Web formSự kiện Web formPage_Init – Khởi tạo trang: các điều khiển được khởi tạo và

gán giá trị từ view state

Page_Load – Nạp trang: Các điều khiển đã được khởi tạo, gán giá trị và sẵn sàng sử dụng trong mã lệnh

Page_UnLoad – web form sắp bị hủy

Page_Disposed – web form đã bị hủy

Page_Error – Trang bị lỗi: có lỗi chưa được xử lý xảy ra.Lập trình Web 14

Page 15: Event Handle

Sự kiện của web form (2)Sự kiện của web form (2)Các sự kiện chính của web form là Page_Load và

Page_Error

Có thể kết hợp thuộc tính IsPostBack để khởi tạo các đối tượng cho web form trong lần đầu tiên (tương tự như Session_Start nhưng ở mức trang)

Lập trình Web 15

Page 16: Event Handle

Sự kiện các điều khiển serverSự kiện các điều khiển serverCác điều khiển Server như Button, TextBox,

DropDownList,... có các sự kiện riêng của mình, các sự kiện này sảy ra trong quá trình tương tác với người dùng. (giống như winform).

Có 3 loại sự kiện của điều khiển server:Sự kiện Post-Back

Làm trang web được gửi về server xử lý ngay lập tứcẢnh hương đến tóc độ xử lý.

Sự kiện cached:Được lưu lại trong View State và sẽ được xử lý khi có một sự kiện post-

backSự kiện kiểm chứng (validate)

Được xử lý ngay tại client mà không cần post-back.

Lập trình Web 16

Page 17: Event Handle

Sự kiên các điều khiển server (2)Sự kiên các điều khiển server (2)Các điều khiển Button, LinkButton, và Image Button

tạo ra các sự kiện post-back

Các điều khiển TextBox, DropDownList, CheckBox, RadioButton, ListBox tạo ra các sự kiện cached

Tuy nhiên có thể thay đổi điều này bằng cách thay đổi thuộc tính AutoPostBack của các điều khiển.

Lập trình Web 17

Page 18: Event Handle

Trình tự xử lý xự kiệnTrình tự xử lý xự kiện

Lập trình Web 18