ASP .NET vòng đối và các sự kiện
Trang 1Vòng đời và Các sự kiện (Life Cycle and Events)
Trình bày: Hà Đồng Hưng
Trang 2Mục tiêu
• Sự kiện (Events)
– Sự kiện trong vòng đời của Web-app – Sự kiện trên Web Form
– Sự kiện trên Server Control
Trang 3Giới thiệu VMWare Workstation 3
Sự kiện
• Sự kiện
– Sự kiện trong vòng đời của Web-app
– Sự kiện trên Web Form – Sự kiện trên Server Control
Trang 4The Files in a Web Application
• Khi xây dựng (build) một Web Forms project:
– Visual Studio NET biên dịch tất cả mã nguồn (source code)
thành tập tin thực thi (DLL) và đặt file này trong thư mục bin – Phần diện mạo (appearance) của application trong các file aspx
và html
Trang 5Giới thiệu VMWare Workstation 5
Các sự kiện trong vòng đời Web Application
• Bắt đầu vòng đời
– Sự sống của Web application bắt đầu khi một trình duyệt triệu
gọi trang đầu tiên của application
– Web application tồn tại cùng các phiên hoạt động
– Web forms có thời gian tồn tại rất ngắn
Trang 6Các sự kiện trong vòng đời Web Application
• Diễn biến vòng đời
– Các user tương tác với các mã HTML được sản sinh (type in text boxes, select option buttons…) cho đến khi phát sinh một sự kiện
phản hồi post-back event (button click …) – Dữ liệu của trang (view state) được gửi ngược lên server
– Khi server nhận được view state
nó tạo một thể hiện (instance) của Web form,
diền dữ liệu từ view state,
xử lý các sự kiện phát sinh
– Nó gửi HTML kết quả ngược về browser và hủy thể hiện (instance)
của Web form
Trang 7Giới thiệu VMWare Workstation 7
Các sự kiện trong vòng đời Web Application
• Diễn biến vòng đời
Trang 8Các sự kiện trong vòng đời Web Application
• Kết thúc vòng đời
– Khi user đóng trình duyệt hay rời bỏ đến Web site khác, phiên
làm việc của user kết thúc – Nếu không còn phiên làm việc nào của user, application kết thúc
Bạn không biết
chính xác khi
nào sự kiện
Application_End
sẽ xảy ra
(ASPNET: GC, OLE:
Ref counting)
Trang 9Giới thiệu VMWare Workstation 9
Mục tiêu
• Sự kiện
– Sự kiện trong vòng đời của Web-app
– Sự kiện trên Web Form
– Sự kiện trên Server Control
Trang 10Sự bảo tồn dữ liệu trên Web Form
– Dữ liệu nhập trong các
control được gửi cùng với
mỗi yêu cầu triệu gọi trang
và được phục hồi vào các
control trong sự kiện
Page_Init
– Dữ liệu trong các control này
sẳn sàng cho sử dụng trong
sự kiện Page_Load.
• Bởi vì Web forms có thời gian sống rất ngắn, ASP.NET thực
hiện các bước để bảo tồn dữ liệu nhập trong các control trên
Web form
-Web form' s view state
Trang 11Giới thiệu VMWare Workstation 11
Sự kiện Web forms:
Application & Session
Sự kiện Web forms:
Application & Session
• Các biến trạng thái Application:
– Có thể sử dụng được cho tất cả các user của application (a multi-user global data)
• Các biến trạng thái Session:
– Chỉ có thể sử dụng được cho một phiên làm việc đơn lẻ (user)
– Chỉ phiên làm việc hiện tại mới có thể truy cập đến biến Session của nó.
• Chúng được tạo tự do trong code (không cần khai báo)
Trang 12Web-form events:
Application & Session
Web-form events:
Application & Session
protected void btnShow_Click( object sender,EventArgs e)
{
' Save the number of clicks in Session state.
Session[“Clicks”] = ( int )Session[“Clicks”] + 1
' Display the number of clicks
Response.Write(“Number of clicks: ” & Session[“Clicks”])
}
Các biến trạng thái phải được khởi tạo trong Visual C#
Trang 13Giới thiệu VMWare Workstation 13
Sự kiện Application and Session
Web application
mỗi lần trình quyệt lái đến bất kỳ trang nào trong application
application
hoặc hết thời gian chờ
Trang 14Sự kiện Application and Session
void Application_Start(object sender, EventArgs e)
{
}
void Application_End(object sender, EventArgs e)
{
}
void Session_Start(object sender, EventArgs e)
{
Session[ "dem“ ] = 0;
}
void Session_End(object sender, EventArgs e)
Trang 15Giới thiệu VMWare Workstation 15
Sự kiện Application and Session
void Application_Start( object sender, EventArgs e)
{
Application[ “sl_online” ]=0;
}
{
}
{
Application[ “sl_online” ]=( int ) Application[ “sl_online” ] + 1
}
{
Application[ “sl_online” ]=( int ) Application[ “sl_online” ] - 1
}
Số user đang online
Trang 16Sự kiện Page
trị từ view state của Web form Đây là bước đầu tiên trong a vòng đời của Web form
Page Thông tin View state sẵn dùng vào lúc này, đây là lúc bạn viêt code để thay đổi các thiết lập trên control hoặc trình bày văn bản lên page
Trang 17Giới thiệu VMWare Workstation 17
Sự kiện Page
soát
liệu
Đây là sự kiện cuối cùng trong vòng đời của đối tượng Page
Trang 18Mục tiêu
• Sự kiện
– Sự kiện trong vòng đời của một Web-app – Sự kiện trên Web Form
– Sự kiện trên Server Control
Trang 19Giới thiệu VMWare Workstation 19
Sự kiện trên Server Control
• Sự kiện Post-back
– Là nguyên nhân mà Web page được gửi ngược lên server để
xử lý
– Sự kiện Post-back tác động đến sự trình bày vì chúng gây ra một vòng hành trình đến server.
• Sự kiện Cached
– Được cất giữ trong view state của page để xử lý xảy ra một
sự kiện post-back.
• Validation events.
– Được xử lý trên page không cần posting back hay caching
Trang 20Sự kiện Server Control
• Sự kiện Cached
– TextBox, DropDownList, ListBox,
RadioButton, và CheckBox
– Bạn có thể thay đổi cách hành sự
trên bằng cách thiết lập thuộc tính
AutoPostBack thành True
• Sự kiện Post-back
– Button, Link Button, và Image Button
• Sự kiện Validation.