Lp trình và Thit k Web 2
Bà
i
3
Bà
i
3
SS
kinkin
trongtrong
ASP.NETASP.NET
SS
kinkin
trongtrong
ASP.NETASP.NET
Ths
Trn
Th
Bích
Hnh
Ths
.
Trn
Th
Bích
Hnh
Khoa CNTT Khoa CNTT –– H.KHTNH.KHTN
© 2009 Khoa Công ngh thông tin
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
Event
Gii
thiu
v
Event
Các s kin chính trong chu trình sng ca ng dng web
Cá
ki
Aliti &S i
–
Cá
cs
ki
nc
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các s kinca WebForm
– Các s kinca ServerControl
© 2009 Khoa CNTT - HKHTN
2
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
Event
Gii
thiu
v
Event
Các s kin chính trong chu trình sng ca ng dng web
Cá
ki
Aliti &S i
–
Cá
cs
ki
nc
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các s kinca WebForm
– Các s kinca ServerControl
© 2009 Khoa CNTT - HKHTN
3
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
ASP NET E t M d lASP NET E t M d l
ASP
.
NET
E
ven
t
M
o
d
e
lASP
.
NET
E
ven
t
M
o
d
e
l
ng
dng
web ASP .NET
s
dng
mô
hình
lp
trình
ng
dng
web
ASP
.NET
s
dng
mô
hình
lp
trình
hng s kin
–
Event: Click
,
Load…
,
– Event Handler: Phng thcx lý khi có s kinxyra
protected void Page_Load(object sender, EventArgs e)
{
…
}
© 2009 Khoa CNTT - HKHTN
4
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
CC
SS
C
lient
C
lient based event system vs. A
S
P.NET event systembased event system vs. A
S
P.NET event system
© 2009 Khoa CNTT - HKHTN
5
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
CC
SS
C
lient
C
lient based event system vs. A
S
P.NET event systembased event system vs. A
S
P.NET event system
© 2009 Khoa CNTT - HKHTN
6
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
PtPt
bkbk
P
os
tP
os
t
b
ac
kb
ac
k
© 2009 Khoa CNTT - HKHTN
7
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
CPCP
PtPt
bkbk
C
ross
P
age
C
ross
P
age
P
os
tP
os
t
b
ac
kb
ac
k
// Default.aspx
Name <asp:TextBox ID=“txtName" runat="server“ />
<asp:Button ID="Button2" runat="server"
PostBackUrl
=" /Target aspx"
Text "Click" />
PostBackUrl
="
~
/Target
.
aspx"
Text
=
"Click"
/>
// Target.aspx.cs
if (this.PreviousPage.IsCrossPagePostBack)
{
TtB
tt
T
ex
tB
ox
t
x
t
=
(TextBox)Page.PreviousPage.FindControl(“txtName")
;
Response.Write("Hello " + txt.Text);
}
© 2009 Khoa CNTT - HKHTN
8
}
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
Vi St tVi St t
Vi
ew
St
a
t
e
Vi
ew
St
a
t
e
Lu
thông
tin
trng
thái
các
control
trên
trang
web
Lu
thông
tin
trng
thái
các
control
trên
trang
web
c mã hóa và nhúng trong trang web didng n
Khi trang web đc postback li server,
A
SP.Net s phc
hilicáctrng thái ca control trc đó& cpnht
nhng
thay
đi
nhng
thay
đi
Sau đógi các hàm x lý s kinca Page & Control
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUK
MDgvMDE
vMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58" />
© 2009 Khoa CNTT - HKHTN
9
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
Event
Gii
thiu
v
Event
Các s kin chính trong chu trình sng ca ng dng web
Cá
ki
Aliti &S i
–
Cá
cs
ki
nc
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các s kinca WebForm
– Các s kinca ServerControl
© 2009 Khoa CNTT - HKHTN
10
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
Cá T ti t t d WbCá T ti t t d Wb
Cá
c
T
p
ti
n
t
rong m
t
ng
d
ng
W
e
bCá
c
T
p
ti
n
t
rong m
t
ng
d
ng
W
e
b
Khi biên dch mt ng dng Web:
Khi
biên
dch
mt
ng
dng
Web:
– Web.config + Global.asax + Style.css
–
Visual Studio .NET biên dch ttc
mã ngun
vào mt file
.DLL
lu
Visual
Studio
.NET
biên
dch
tt
c
mã
ngun
vào
mt
file
.DLL
lu
trong th mc
~/bin
– Phn giao din ca ng dng nm các file .aspx và .html
© 2009 Khoa CNTT - HKHTN
11
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
Cá E t t h t ì h d WbCá E t t h t ì h d Wb
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Bt đumt chu trình sng ca ng dng Web
Bt
đu
mt
chu
trình
sng
ca
ng
dng
Web
– Bt đu khi mt trình duyt yêu cu 1 trang web ca ng
dng, gilà
Session
dng,
gi
là
Session
– ng dng web vn chy nu nh nó vn còn Session
đang hot đng
đang
hot
đng
– Chu trình sng ca 1 Web Form trên server ch tn ti
trong
1
khong thigianngn
trong
1
khong
thi
gian
ngn
© 2009 Khoa CNTT - HKHTN
12
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
Cá E t t h t ì h d WbCá E t t h t ì h d Wb
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Chu trình sng tiptc
Chu
trình
sng
tip
tc
– Ngi dùng tng tác vigiaodinweb(gõvàotext
box,
đánh
du
chn
các
check
box
…
)
cho
đn
khi
kích
box,
đánh
du
chn
các
check
box
…
)
cho
đn
khi
kích
hotmts kin post-back (nhn button …)
–
D
liu
ca
trang
(
view
state
)
đc
gi
v
cho
server
D
liu
ca
trang
(
view
state
)
đc
gi
v
cho
server
– Khi server nhn đc view state
Nó
to
ra
th
hin
mi
ca
Web
Form
•
Nó
to
ra
th
hin
mi
ca
Web
Form
• ind liuvàoview state
•
X
lý
các
s
kin
xy
ra
X
lý
các
s
kin
xy
ra
• Tr ktqu HTML v cho trình duytvàhyth hincaWeb
Form
© 2009 Khoa CNTT - HKHTN
13
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
Cá E t t h t ì h d WbCá E t t h t ì h d Wb
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Chu trình sng tiptc
Chu
trình
sng
tip
tc
© 2009 Khoa CNTT - HKHTN
14
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
Cá E t t h t ì h d WbCá E t t h t ì h d Wb
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Cá
c
E
ven
t
t
rong c
h
u
t
r
ì
n
h
s
ng c
a
ng
d
ng
W
e
b
Chu trình sng kt thúc
Chu
trình
sng
kt
thúc
– Khi ngi dùng tt trình duyt, hocsaumtkhong thigian
timeout không refesh li trang web thì Session cakt thúc
– Nu không còn Session nào t các ngi dùng ca ng dng web
thì
ng dng web s kt thúc
© 2009 Khoa CNTT - HKHTN
15
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
Event
Gii
thiu
v
Event
Các s kin chính trong chu trình sng ca ng dng web
Cá
ki
Aliti &S i
–
Cá
cs
ki
nc
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các s kinca WebForm
– Các s kinca ServerControl
© 2009 Khoa CNTT - HKHTN
16
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
S ki Aliti àS iS ki Aliti àS i
S
ki
n
A
pp
li
ca
ti
on v
à
S
ess
i
on
S
ki
n
A
pp
li
ca
ti
on v
à
S
ess
i
on
Tên s
ki
nX
y
ra khi
y
Application_Start Ngi dùng đu tiên ghé thm 1 trang web trong ng
dng web
Application_End Không còn ngi dùng nào đang m trang web ca
ng dng
Application_Error Khi có li xy ra trong ng dng
Session Start
Mtngi dùng mi ghé thm 1 trang web ca ng
Session
_
Start
Mt
ngi
dùng
mi
ghé
thm
1
trang
web
ca
ng
dng
Session End
Ngi dùng đóng trình duythocsaumtkhong
Session
_
End
Ngi
dùng
đóng
trình
duyt
hoc
sau
mt
khong
thi gian time out không request lên ng dng
© 2009 Khoa CNTT - HKHTN
17
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
Event
Gii
thiu
v
Event
Các s kin chính trong chu trình sng ca ng dng web
Cá
ki
Aliti &S i
–
Cá
cs
ki
nc
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các s kinca WebForm
– Các s kinca ServerControl
© 2009 Khoa CNTT - HKHTN
18
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
PEtPEt
P
age
E
ven
tP
age
E
ven
t
Tên s kinXyrakhi
PIi
Cá
l
đ
à
khi
i
P
age_
I
n
i
t
Cá
c server contro
l
đ
cnpv
à
khi
to trong v
i
ew
state
ca web form.
Pa
g
e Load Các server control đ
cn
p
lên đit
n
g
Pa
g
e. T
i
g
_
p
g
g
thi đim này thông tin ca View state đãcóth s
dng đc, do đó đây là lúc bnvitmãlnh thay đi
thitlpca control hochinth d liu lên trang.
Page_DataBinding Server control trên trang đcgnktvi ngund
liu.
Page_PreRender Bt đu dàn trang cho đitng Page.
Page_Unload itng Page đchykhib nh.
Page_Error Khi có li không đcx lý xy ra trong trang.
© 2009 Khoa CNTT - HKHTN
19
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
© 2009 Khoa CNTT - HKHTN
20
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
PIitPIit
P
age_
I
n
itP
age_
I
n
it
© 2009 Khoa CNTT - HKHTN
21
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
PLdPLd
P
age_
L
oa
dP
age_
L
oa
d
© 2009 Khoa CNTT - HKHTN
22
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
PPRdPPRd
P
age_
P
re
R
en
d
e
rP
age_
P
re
R
en
d
e
r
© 2009 Khoa CNTT - HKHTN
23
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
Event
Gii
thiu
v
Event
Các s kin chính trong chu trình sng ca ng dng web
Cá
ki
Aliti &S i
–
Cá
cs
ki
nc
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các s kinca WebForm
– Các s kinca ServerControl
© 2009 Khoa CNTT - HKHTN
24
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
CáCá
kiki
SCtlSCtl
Cá
c
Cá
css
ki
n
ki
nc
ac
a
S
erver
C
on
t
ro
lS
erver
C
on
t
ro
l
Post
-
back event
Post
back
event
– Gi trang web hin hành đn trang web đc qui đnh bi
thu
c tính PostBackUrl đ server x l
ý
ý
– Mc đnh giv chính trang web hin hành
ASP.NET Server Controls
– Button, Link Button, Image Button
– TextBox, DropDownList, ListBox, RadioButton, CheckBox
– Có th thitlps kin Post-back cho các control này bng cách
gán thuc tính AutoPostBack=True
© 2009 Khoa CNTT - HKHTN
25
LptrìnhvàThitk Web 2 – Bài 3: S kin trong ASP.NET
CáCá
kiki
SCtlSCtl
Cá
c
Cá
css
ki
n
ki
nc
ac
a
S
erver
C
on
t
ro
lS
erver
C
on
t
ro
l
Validation event
Validation
event
– X lý kimtrad liu trên trang trckhigiv cho server
–
Validation server control
–
Validation
server
control
© 2009 Khoa CNTT - HKHTN
26
Lp trình và Thitk Web 2 – Bài 3: S kin trong ASP.NET
TT
ktkt
T
ng
T
ng
ktkt
Client
-
based vs.
ASP.Net
Event system
Client
based
vs.
ASP.Net
Event
system
Postback Event
ViewState
Application & Session Events
Page Events
CtlE t
C
on
t
ro
l
E
ven
t
s
© 2009 Khoa CNTT - HKHTN
27