C SClient Client--based event system vs.. ASP.NET event systembased event system vs.. ASP.NET event system © 2009 Khoa CNTT - HKHTN 5 Client Client--based event system vs.. ASP.NET event
Trang 1L p trình và Thi t k Web 2
Bài 3
S ki n ki n trong trong ASP.NET ASP.NET
S ki n ki n trong trong ASP.NET ASP.NET
Ths Tr n Th Bích H nh
Khoa CNTT
© 2009 Khoa Công ngh thông tin
N i d
N 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
© 2009 Khoa CNTT - HKHTN
2
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
N i d
N 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
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
ASP NET E t M d l ASP NET E t M d l ASP NET Event Model
ng d ng web ASP NET sng d ng web ASP NET s d ng mô hình l p trìnhd ng mô hình l p trình
– Event: Click, Load… ,
– Event Handler: Ph ng th c x lý khi có s ki n x y ra
protected void Page_Load( object sender, EventArgs e) {
… }
Trang 2C S
Client
Client based event system vs ASP.NET event systembased event system vs ASP.NET event system
© 2009 Khoa CNTT - HKHTN
5
Client Client based event system vs ASP.NET event systembased event system vs ASP.NET event system
© 2009 Khoa CNTT - HKHTN
6
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
P t
P t b b k k
Post
Post back back
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
C P P P t t b b k k CrossPage
CrossPage Post Post back back
// Default.aspx
Name <asp:TextBox ID=“txtName" runat="server“ />
<asp:Button ID="Button2" runat="server"
PostBackUrl=" /Target aspx" Text "Click" />
// Target.aspx.cs
if (this.PreviousPage.IsCrossPagePostBack) {
T tB t t TextBox txt = (TextBox)Page.PreviousPage.FindControl(“txtName");
Response.Write("Hello " + txt.Text);
Trang 3Vi St t
Vi St t
View 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 t
nh ng thayđ i
nh ng thayđ i
Sauđó g i các hàm x lý s ki n c a Page & Control
< input type="hidden" name=" VIEWSTATE" id=" VIEWSTATE"
value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUK
MDgvMDE
vMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58" />
© 2009 Khoa CNTT - HKHTN
9
N i d
N 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
© 2009 Khoa CNTT - HKHTN
10
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
Các T p tin trong m t ng d ng Web
Khi biên d ch m tKhi biên d ch m t ng d ng Web:ng d ng Web:
–Web.config + Global.asax + Style.css
– Visual Studio NET biên d ch t t c Visual Studio NET biên d ch t t c mã ngu n mã ngu n vào m t file vào m t file DLL DLL l u 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
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
Các Event trong chu trình s ng c a ng d ng Web
B tB t đ u m t chu trình s ng c a ng d ng Webđ 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
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
Trang 4Cá E t t h t ì h d W b
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ích
box, đánh d u ch n các check box…) cho đ n khi kích
ho t m t s ki npost-back(nh nbutton…)
–DD li u c a trang (li u c a trang (view state view state))đ c g i v cho serverđ 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
• Nó t o ra th hi n m i c a Web Form
• i n d li u vào view state
• X X lý các s lý các s ki n x y ra 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
© 2009 Khoa CNTT - HKHTN
13
Các Event trong chu trình s ng c a ng d ng Web
Chu trình s ng ti p t c
© 2009 Khoa CNTT - HKHTN
14
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
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
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
N i d
N 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á ki A li ti & S i
– 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
Trang 5S ki A li ti à S i
S ki n Application và Session
Tên s ki n X y ra khi y
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
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
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
© 2009 Khoa CNTT - HKHTN
17
N i d
N 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
© 2009 Khoa CNTT - HKHTN
18
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
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 g _ Các server control đ c n p lên đ i t ng p g Page g 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_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.
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
Trang 6P I it
Page_Init
© 2009 Khoa CNTT - HKHTN
21
Page_Load
© 2009 Khoa CNTT - HKHTN
22
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
Page_PreRender
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
N i d
N 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
Trang 7Cá ki S S C C t l t l
Các
Các s s ki n ki n c a c a ServerControl ServerControl
Post-back event
– G i trang web hi n hành đ n trang web đ c qui đ nh b i
thu c tính PostBackUrl đ server x lýý
– M c đ nh g i v chính trang web hi n hành
ASP.NET Server Controls
–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
© 2009 Khoa CNTT - HKHTN
25
Các Các s s ki n ki n c a c a ServerControl ServerControl
Validation event
– X lý ki m tra d li u trên trang tr c khi g i v cho server
–Validation server control
–Validation server control
© 2009 Khoa CNTT - HKHTN
26
L p trình và Thi t k Web 2 – Bài 3: S ki n trong ASP.NET
T ng
T ng k t k t
Client-based vs ASP.Net Event system
Postback Event
ViewState
Application & Session Events
Page Events
Control Events