Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Lập trình và Thiết kế Web 2
© 2007 Khoa Công nghệ thông tin
Khoa CNTT Khoa CNTT –– ĐH.KHTNĐH.KHTN
Bài 3
CơCơ chếchế hoạthoạt độngđộng củacủa ASP.NETASP.NET
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Nội dungNội dung
� Giới thiệu về Event
� Các sự kiện chính trong chu trình sống của ứng dụng web
– Các sự kiện của Application & Session
– Các sự kiện của WebForm
– Các sự kiện của ServerControl
2
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Nội dungNội dung
� Giới thiệu về Event
� Các sự kiện chính trong chu trình sống của ứng dụng web
– Các sự kiện của Application & Session
– Các sự kiện của WebForm
– Các sự kiện của ServerControl
3
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
ASP .NET Event ModelASP .NET Event Model
� Ứng dụng web ASP .NET sử dụng mô hình lập trình
hướng sự kiện
– Event: Click, Load…
– Event Handler: Phương thức xử lý khi có sự kiện xảy ra
4
protected void Page_Load(object sender, EventArgs e)
{
…
}
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
ClientClient--based event system vs. ASP.NET event systembased event system vs. ASP.NET event system
5
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
ClientClient--based event system vs. ASP.NET event systembased event system vs. ASP.NET event system
6
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
PostbackPostback
7
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
View StateView State
� Lưu thông tin trạng thái các control trên trang web
� Được mã hóa và nhúng trong trang web dưới dạng ẩn
� Khi trang web được postback lại server, ASP.Net sẽ phục
hồi lại các trạng thái của control trước đó & cập nhậtnhững thay đổi
� Sau đó gọi các hàm xử lý sự kiện của Page & Control
8
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUK
MDgvMDE
vMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58" />
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Nội dungNội dung
� Giới thiệu về Event
� Các sự kiện chính trong chu trình sống của ứng dụng web
– Các sự kiện của Application & Session
– Các sự kiện của WebForm
– Các sự kiện của ServerControl
9
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các Tập tin trong một Ứng dụng WebCác Tập tin trong một Ứng dụng Web
� Khi biên dịch một Ứng dụng Web:
– Web.config + Global.asax + Style.css
– 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
10
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các Event trong chu trình sống của Ứng dụng Web Các Event trong chu trình sống của Ứng dụng Web
� Bắt đầu một chu trình sống của ứng dụng Web
– Bắt đầu khi một trình duyệt yêu cầu 1 trang web của ứ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 trên server chỉ tồn tại trong 1 khoảng thời gian ngắn
11
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các Event trong chu trình sống của Ứng dụng Web Các Event trong chu trình sống của Ứ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íchhoạ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
12
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các Event trong chu trình sống của Ứng dụng Web Các Event trong chu trình sống của Ứng dụng Web
� Chu trình sống tiếp tục
13
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các Event trong chu trình sống của Ứng dụng Web Các Event trong chu trình sống của Ứ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
timeout không refesh lại trang web thì Session của kết thúc
– Nếu không còn Session nào từ các người dùng của ứng dụng web
thì ứng dụng web sẽ kết thúc
14
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Nội dungNội dung
� Giới thiệu về Event
� Các sự kiện chính trong chu trình sống của ứng dụng web
– Các sự kiện của Application & Session
– Các sự kiện của WebForm
– Các sự kiện của ServerControl
15
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Sự kiện Application và SessionSự 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
16
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Nội dungNội dung
� Giới thiệu về Event
� Các sự kiện chính trong chu trình sống của ứng dụng web
– Các sự kiện của Application & Session
– Các sự kiện của WebForm
– Các sự kiện của ServerControl
17
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Page EventPage 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ạithờ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 đổithiết lập của control hoặc hiển thị dữ liệu lên trang.
Page_DataBinding Server control trên trang được gắn kết với nguồn dữliệu.
Page_PreRender Bắt đầu dàn trang cho đối tượng Page.
Page_Unload Đối tượng Page được hủy khỏi bộ nhớ.
Page_Error Khi có lỗi không được xử lý xảy ra trong trang.
18
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN19
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Page_InitPage_Init
20
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Page_LoadPage_Load
21
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Page_PreRenderPage_PreRender
22
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Nội dungNội dung
� Giới thiệu về Event
� Các sự kiện chính trong chu trình sống của ứng dụng web
– Các sự kiện của Application & Session
– Các sự kiện của WebForm
– Các sự kiện của ServerControl
23
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các sự kiện của ServerControlCác sự kiện của ServerControl
� 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.
24
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
Các sự kiện của ServerControlCác sự kiện của ServerControl
� Post-back event
– Button, Link Button, Image Button
– 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 control
25
Lập trình và Thiết kế Web 2 – Bài 2: Cơ chế hoạt động của ASP.NET
© 2007 Khoa CNTT - ĐHKHTN
TổngTổng kếtkết
� Client-based vs. ASP.Net Event system
� Postback Event
� ViewState
� Application & Session Events
� Page Events
� Control Events
26