© 2007 Khoa CNTT – ĐH KHTNNội dung Các Event trong chu trình sống của một Ứng dụng Web Web Form Event Server Control Event... © 2007 Khoa CNTT – ĐH KHTNCác Event trong chu trình số
Trang 1Thi ế t k ế & L ậ p trình WEB 2
GIỚI THIỆU VỀ EVENT
Khoa Công nghệ thông tin Trường Đại học Khoa học Tự nhiên
Trang 2Nội dung
Các Event trong chu trình sống của một Ứng dụng Web
Web Form Event
Server Control Event
Trang 3© 2007 Khoa CNTT – ĐH KHTN
Nội dung
Các Event trong chu trình sống của một Ứng dụng Web
Web Form Event
Server Control Event
Trang 4Các Tập tin trong một Ứng dụng Web
Khi xây dựng một Ứng dụng Web:
– Visual Studio NET biên dịch tất cả mã nguồn vào một file DLL lưutrong thư mục /bin
– Phần giao diện của ứng dụng nằm ở các file aspx và html
Trang 5© 2007 Khoa CNTT – ĐH KHTN
Các Event trong chu trình sống
của một Ứng dụng Web
Chu trình sống của một ứng dụng web
– Bắt đầu khi một trình duyệt yêu cầu 1 trang web từ ứng dụng, gọi là Session
– Ứng dụng web vẫn chạy nếu như nó vẫn còn Session đanghoạt động
– Chu trình sống của 1 Web Form chỉ tồn tại trong 1 khoảng thờigian ngắn
Trang 6Các Event trong chu trình sống
của một Ứng dụng Web
Chu trình sống tiếp tục
– Người dùng tương tác với giao diện web (gõ vào text box, đánh dấu chọn các check box…) cho đến khi kích hoạt một
sự kiện post-back (nhấn button …)
– Dữ liệu của trang (view state) được gửi về cho server
– Khi server nhận được view state
¾Nó tạo ra thể hiện mới của Web Form
¾Điền dữ liệu vào view state
¾Xử lý các sự kiện xảy ra
¾Trả kết quả HTML về cho trình duyệt và hủy thể hiện của Web Form
Trang 7© 2007 Khoa CNTT – ĐH KHTN
Các Event trong chu trình sống
của một Ứng dụng Web
Chu trình sống tiếp tục
Trang 8Các Event trong chu trình sống
của một Ứng dụng Web
Chu trình sống kết thúc
– Khi người dùng tắt trình duyệt, hoặc sau một khoảng thờigian không refesh lại trang web thì Session của người dùngkết thúc
– Nếu không còn Session nào từ người dùng thì ứng dụngweb sẽ kết thúc
Trang 9© 2007 Khoa CNTT – ĐH KHTN
Nội dung
Các Event trong chu trình sống của một Ứng dụng Web
Web Form Event
Server Control Event
Trang 10-D ữ liệu trạng thái của Web form -Các bi ến trạng thái của Application -Các bi ến trạng thái của Session
– Dữ liệu nhập vào trong các
control được khởi tạo trong sự
kiện Page_Init
– Càc dữ liệu này sau đó được
nạp lại vào control trong sự
kiện Page_Load
Lưu trữ dữ liệu trên một Web Form
Vì Web Form có chu trình sống rất ngắn nên ASP.NET có cơ chế đặc biệt để lưu trữ dữ liệu nhập vào trong các control của web
form
View State
Trang 11© 2007 Khoa CNTT – ĐH KHTN
Application & Session
Các biến trạng thái Application
– Chia sẽ dự liệu cho tất cả người dùng của một ứng dụng (dữliệu toàn cục cho đa người dùng)
Các biến trạng thái Session
– Chia sẽ dữ liệu cho nhiều Web Form trong cùng một Session
– Chỉ có session hiện hành có khả năng truy cập đến biến trạngthái Session của chính nó
Trang 12Application & Session
protected void btnShow_Click(object sender, EventArgs e)
{
// Save the number of clicks in Session state.
Session("Clicks") = Session("Clicks") + 1;
// Display the number of clicks.
Response.Write("Number of clicks: " + Session("Clicks")); }
Trang 13© 2007 Khoa CNTT – ĐH KHTN
Sự kiện Application và Session
Application_Start Người dùng đầu tiên ghé thăm 1 trang web
trong ứng dụng webApplication_End Không còn người dùng nào đang mở trang
web của ứng dụngApplication_Error Khi có lỗi xảy ra trong ứng dụng
Session_Start Một người dùng mới ghé thăm 1 trang web
của ứng dụngSession_End Người dùng đóng trình duyệt hoặc sau một
khoảng thời gian time out không request lênứng dụng
Trang 14Sự kiện Application và Session
void Application_Start(object sender, EventArgs e) {
' Record application start.
' Display session count.
Response.Write("Number of applications: " + Application("AppCount") +"<br>"); ' Display session count.
Response.Write("Number of sessions: " + Application("SessCount") + "<br>"); }
void Session_End(object sender, EventArgs e) {
' Decrement sessions.
Application("SessCount") = Application("SessCount") – 1;
}
Trang 15© 2007 Khoa CNTT – ĐH KHTN
Vấn đề???
void Application_Start(object sender, EventArgs e) {
' Record application start.
Application("AppCount") = Application("AppCount") + 1;
}
void Session_Start(object sender, EventArgs e) {
' Count sessions.
' Display session count.
' Display session count.
Trang 16Vấn đề???
void Application_Start(object sender, EventArgs e) {
' Record application start.
}
void Session_Start(object sender, EventArgs e) {
' Count sessions.
' Display session count.
' Display session count.
Trang 17© 2007 Khoa CNTT – ĐH KHTN
Page Event
Page_Init Các server control được nạp và khởi tạo
trong view state của web form
Page_Load Các server control được nạp lên đối tượng
Page Tại thời điểm này thông tin của View state đã có thể sử dụng được, do đó đây làlúc bạn viết mã lệnh thay đổi thiết lập củacontrol hoặc hiển thị dữ liệu lên trang
Page_PreRender Ứng dụng sắp sửa dàn trang cho đối tượng
Page
Page_Unload Trang được hủy khỏi bộ nhớ
Trang 18Page Event
Page_Error Khi có lỗi không được xử lý xảy ra trong
trang
Page_DataBinding Server control trên trang được gắn kết
với nguồn dữ liệu
Page_Disposed Đối tượng Page được giải phóng khỏi bộ
nhớ
Trang 19© 2007 Khoa CNTT – ĐH KHTN
Nội dung
Các Event trong chu trình sống của một Ứng dụng Web
Web Form Event
Server Control Event
Trang 20Server Control Event
Trang 21© 2007 Khoa CNTT – ĐH KHTN
Server Control Event
RadioButton, CheckBox
– Có thể thiết lập sự kiện Post-back
cho các control này bằng cách gán