Bài giảng Giới thiệu về event
Các Event trong chu trình sống của một Ứng dụng Web Web Form Event Server Control Event
Bạn đang xem trước 20 trang tài liệu Bài giảng Giới thiệu về event, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bài giảng môn học
Thiế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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Cá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ưu
trong thư mục /bin
– Phần giao diện của ứng dụng nằm ở các file .aspx và .html
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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 đang
hoạt động
– Chu trình sống của 1 Web Form chỉ tồn tại trong 1 khoảng thời
gian ngắn
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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
–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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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 kết thúc
– Khi người dùng tắt trình duyệt, hoặc sau một khoảng thời
gian không refesh lại trang web thì Session của người dùng
kết thúc
– Nếu không còn Session nào từ người dùng thì ứng dụng
web sẽ kết thúc
Bạn không biết
được chính xác
khi nào thì sự
kiện
Application_End
xảy ra (ASPNET:
GC, OLE: Ref
counting)
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
-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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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ạng
thái Session của chính nó
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Application & 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"));
}
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Sự kiện Application và Session
Tên sự kiện Xảy ra khi
Application_Start Người dùng đầu tiên ghé thăm 1 trang web
trong ứng dụng web
Application_End Không còn người dùng nào đang mở trang
web của ứng dụng
Application_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ụng
Session_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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Sự kiện Application và Session
void Application_Start(object sender, EventArgs e) {
' Record application start.
Application("AppCount") = Application("AppCount") + 1;
}
void Session_Start(object sender, EventArgs e) {
' Count sessions.
Application("SessCount") = Application("SessCount") + 1;
' Display session count.
Response.Write("Number of applications: " + Application("AppCount") +"");
' Display session count.
Response.Write("Number of sessions: " + Application("SessCount") + "");
}
void Session_End(object sender, EventArgs e) {
' Decrement sessions.
Application("SessCount") = Application("SessCount") – 1;
}
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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.
Session("SessCount") = Session("SessCount") + 1;
' Display session count.
Response.Write("Number of applications: " + Session("AppCount") +"");
' Display session count.
Response.Write("Number of sessions: " + Session("SessCount") + "");
}
void Session_End(object sender, EventArgs e) {
' Decrement sessions.
Application("SessCount") = Application("SessCount") – 1;
}
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Vấn đề???
void Application_Start(object sender, EventArgs e) {
' Record application start.
Session("AppCount") = Session("AppCount") + 1;
}
void Session_Start(object sender, EventArgs e) {
' Count sessions.
Session("SessCount") = Session("SessCount") + 1;
' Display session count.
Response.Write("Number of applications: " + Session("AppCount") +"");
' Display session count.
Response.Write("Number of sessions: " + Session("SessCount") + "");
}
void Session_End(object sender, EventArgs e) {
' Decrement sessions.
Session("SessCount") = Session("SessCount") – 1;
}
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Page Event
Tên sự kiện Xảy ra khi
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ủa
control 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ớ.
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Page Event
Tên sự kiện Xảy ra khi
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ớ.
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 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
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Server Control Event
Post-back event
– Bắt Web page gửi về lại cho server để xử lý ngay lập
tức.
Validation event
– Xử lý trên trang mà không cần sự kiện post-back.
Thiết kế & Lập trình WEB 2 –Giới thiệu về Event
© 2007 Khoa CNTT – ĐH KHTN
Server Control Event
– TextBox, DropDownList, ListBox,
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
thuộc tính AutoPostBack=True
Validation event
– Validation server controls
Post-back event
– Button, Link Button, Image Button