Lp trình và Thit k Web 2
Bà
i
2
Bà
i
2
GiiGii
thiuthiu
ASPASP
.NET.NET
GiiGii
thiuthiu
ASP
ASP
.NET.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 2: Giithiu ASP .NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
ASP .NET
Gii
thiu
v
ASP
.NET
Giithiuv .NET Framework
Các thành ph
ncamt ng dng
A
SP .NET
C ch x lý mt ng dng ASP.NET
Cutrúcca 1 WebForm
© 2009 Khoa CNTT - HKHTN
2
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
ASP .NET
Gii
thiu
v
ASP
.NET
Giithiuv .NET Framework
Các thành ph
ncamt ng dng
A
SP .NET
C ch x lý mt ng dng ASP.NET
Cutrúcca 1 WebForm
© 2009 Khoa CNTT - HKHTN
3
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
GiiGii
thithi
ASP NETASP NET
GiiGii
thi
u
thi
u
ASP
.
NETASP
.
NET
ASP .NET
ASP
.NET
– Active Server Page .NET
Công
ngh
ca
Microsoft
cho
phép
xây
dng
các
ng
dng
–
Công
ngh
ca
Microsoft
cho
phép
xây
dng
các
ng
dng
web đng
–
Da
trên
nn
tng
NET Framework
Da
trên
nn
tng
.
NET
Framework
– c phát trinlênt ASP
© 2009 Khoa CNTT - HKHTN
4
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
điđi
ASPASP
u
u
đi
m
đi
mc
ac
a
ASPASP
Công
ngh
Server
-
side
scripting
Công
ngh
Server
side
scripting
Tđng thông dch
Cho phép tocácng dng web đngin, nhanh chóng
và d dàng
To trang web có tích hp ni dung đng
© 2009 Khoa CNTT - HKHTN
5
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
Kh tKh t
điđi
ASPASP
Kh
uy
tKh
uy
t
đi
m
đi
mc
ac
a
ASPASP
Ch
h
tr
2
loi
ngôn
ng
:
VBScript
và
JavaScript
Ch
h
tr
2
loi
ngôn
ng
:
VBScript
và
JavaScript
Pha trn code, HTML và text
Không tng thích trình duyt
Không qunlýtrng thái trang web
C ch debug kém
Tái
d
d
ké
Tái
s
d
ng co
d
e
ké
m
© 2009 Khoa CNTT - HKHTN
6
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
Cá đi ibt ASP NETCá đi ibt ASP NET
Cá
c
đi
m n
i
bt
c
a
ASP
.
NETCá
c
đi
m n
i
bt
c
a
ASP
.
NET
H
tr
đa
ngôn
ng
:
C#
,
VB.NET
,
J#
H
tr
đa
ngôn
ng
:
C#
,
VB.NET
,
J#
Biên dch trc các trang, giúp làm tng tc đ thchin
A
SP code đclp vi HTML và text
Qunlýtrng thái trang web
Có c ch h tr debug thông qua IDE VS.NET
H
t
tái
d
d
thô
h
k
th
H
t
r
tái
s
d
ng co
d
e
thô
ng qua c c
h
k
th
a
© 2009 Khoa CNTT - HKHTN
7
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
Cá đi ibt ASP NETCá đi ibt ASP NET
Cá
c
đi
m n
i
bt
c
a
ASP
.
NETCá
c
đi
m n
i
bt
c
a
ASP
.
NET
S
dng
c
ch
Server
-
side
Caching
S
dng
c
ch
Server
side
Caching
i cùng vi nhiu server control đcxâydng sn
Tđng nhndng trình duytngi dùng đang s dng
© 2009 Khoa CNTT - HKHTN
8
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
Cá đi ibt ASP NETCá đi ibt ASP NET
Cá
c
đi
m n
i
bt
c
a
ASP
.
NETCá
c
đi
m n
i
bt
c
a
ASP
.
NET
Web
Service
:
trin
khai
mt
hàm
t
xa
thông
qua
web
Web
Service
:
trin
khai
mt
hàm
t
xa
thông
qua
web
© 2009 Khoa CNTT - HKHTN
9
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
ASP .NET
Gii
thiu
v
ASP
.NET
Giithiuv .NET Framework
Các thành ph
ncamt ng dng Web
C ch x lý mt ng dng ASP.NET
Cutrúcca 1 WebForm
© 2009 Khoa CNTT - HKHTN
10
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
Giithi NET F kGiithi NET F k
Gii
thi
u v
.
NET
F
ramewor
kGii
thi
u v
.
NET
F
ramewor
k
.NET Framework là nntn
g
cho Microsoft.NET Platform
g
.NET Framework là môi trng cho vicxâydng, trin
khai và vn hành các n
g
dn
g
Win/Web cn
g
nh Web
g
g
g
Service
© 2009 Khoa CNTT - HKHTN
11
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
Giithi NET F kGiithi NET F k
ii
22
00
Gii
thi
u v
.
NET
F
ramewor
k
Gii
thi
u v
.
NET
F
ramewor
k
––
vers
i
on vers
i
on
22
00
Giú
p
đn
g
in hóa
q
uá
p
g
q
trình phát trin, tích hp
sn phm
.NET Framework không
ph thuc vào ngôn ng
ph
thuc
vào
ngôn
ng
.
Các ngôn ng đang
Các
ngôn
ng
đang
đc h tr :
C++,
C#, VB.NET, Jscript
© 2009 Khoa CNTT - HKHTN
12
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
CC
hh
h th t
đđ
NET F kNET F k
C
C
c
h
c
h
h
o
th
o
t
đ
ng
đ
ng c
ac
a.
NET
F
ramewor
k
.
NET
F
ramewor
k
© 2009 Khoa CNTT - HKHTN
13
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
Giithi NET F kGiithi NET F k
ii
33
00
Gii
thi
u v
.
NET
F
ramewor
k
Gii
thi
u v
.
NET
F
ramewor
k
––
vers
i
on vers
i
on
33
00
Windows Presentation Foundation (WPF).
Windows Cardspace
Windows Communications Foundation (WCF).
Windows Workflow Foundation (WF).
© 2009 Khoa CNTT - HKHTN
14
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
Giithi NET F kGiithi NET F k
ii
33
55
Gii
thi
u v
.
NET
F
ramewor
k
Gii
thi
u v
.
NET
F
ramewor
k
––
vers
i
on vers
i
on
33
55
© 2009 Khoa CNTT - HKHTN
15
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
ASP.NET
Gii
thiu
v
ASP.NET
Giithiuv .NET Framework
Các thành ph
ncamt ng dng Web
C ch x lý mt ng dng ASP.NET
Cutrúcca 1 WebForm
© 2009 Khoa CNTT - HKHTN
16
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
C SC S
C
u trúc mt ng dng A
S
P.NET
C
u trúc mt ng dng A
S
P.NET
WbCli t
W
e
b
Cli
en
t
ASP.NET
Applications
IIS
Applications
NET
.
NET
Framework
Operating System
© 2009 Khoa CNTT - HKHTN
17
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
CáCá
thà hthà h
hh
tt
dd
ASP NETASP NET
Cá
c
Cá
c
thà
n
hthà
n
h
p
h
np
h
nc
ac
am
t
m
t
ng
ng
d
ng
d
ng
ASP
.
NETASP
.
NET
NiNi dungdung
Wb
W
e
b
Form
LpLp trình x lýtrình x lý
Cu hìnhCu hình
© 2009 Khoa CNTT - HKHTN
18
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
CáCá
thà hthà h
hh
tt
dd
ASP NET(ASP NET(
tttt
))
Cá
c
Cá
c
thà
n
hthà
n
h
p
h
np
h
nc
ac
am
t
m
t
ng
ng
d
ng
d
ng
ASP
.
NET(ASP
.
NET(
tttt
))
Trong
mt
ng
dng
ASP NET
hoàn
chnh
các
phn
thc
Trong
mt
ng
dng
ASP
.
NET
hoàn
chnh
,
các
phn
thc
thi ca Web Form đclu trong các file .dll và chytrên
server
thông
qua
điu
khin
ca
IIS
server
thông
qua
điu
khin
ca
IIS
© 2009 Khoa CNTT - HKHTN
19
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
ASP.NET
Gii
thiu
v
ASP.NET
Giithiuv .NET Framework
Các thành ph
ncamt ng dng
A
SP. NET
C ch x lý mt ng dng ASP.NET
Cutrúcca 1 WebForm
© 2009 Khoa CNTT - HKHTN
20
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
C h lý tt ASPNETC h lý tt ASPNET
C
c
h
x
lý
m
t
t
rang
ASP
.
NETC
c
h
x
lý
m
t
t
rang
ASP
.
NET
© 2009 Khoa CNTT - HKHTN
21
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
DD
D
emo
D
emo
Gii
thiu
cách
to
ASP.NET Web Project
Gii
thiu
cách
to
ASP.NET
Web
Project
Các chđThitk và lptrình
Biên dch và Tri
n khai Web Project
© 2009 Khoa CNTT - HKHTN
22
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
NidNid
Ni
d
ung
Ni
d
ung
Gii
thiu
v
ASP.NET
Gii
thiu
v
ASP.NET
Giithiuv .NET Framework
Các thành ph
ncamt ng dng
A
SP .NET
C ch x lý mt ng dng ASP.NET
Cutrúcca 1 WebForm
© 2009 Khoa CNTT - HKHTN
23
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
CC
C
u trúc mt Web Form aspx
C
u trúc mt Web Form aspx
Mt Web Form bao gm các thành phn:
Mt
Web
Form
bao
gm
các
thành
phn:
– Directives
Code Declaration Blocks
–
Code
Declaration
Blocks
– Code Render Blocks
WbC t l
–
W
e
b
C
on
t
ro
l
s
– Server-side comments
– Literal Text và HTML Tags
Code Declaration Blocks và Code Render Blocks có th đt
trc tip trên WebForm hoc tách bit trong file Code Behind
© 2009 Khoa CNTT - HKHTN
24
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
Cutrúcmt Web Form aspxCutrúcmt Web Form aspx
Cu
trúc
mt
Web
Form
aspxCu
trúc
mt
Web
Form
aspx
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
Page directives
" /><html>
<head>
<title>Sample Page</title>
<script runat=
"
server
"
>
Literal text và html tags
<script
runat= server >
void Page_Load()
{
messageLabel.Text = "Hello World";
}
</script>
Code declaration Blocks
</head>
<body>
<% comment here %>
<form runat="server">
<>
Server-side comments
<
p
>
<asp:Label id="messageLabel" runat="server" />
</p>
<p>
<% Declare the title as string and set it %>
Web controls
<% string Title = "This is generated by a code render " +
"block."; %>
<%= Title %>
</p>
</form>
Code render Blocks
© 2009 Khoa CNTT - HKHTN
</form>
</body>
</html>
25
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
Di tiDi ti
Di
rec
ti
ves
Di
rec
ti
ves
Chacácch th cho bitcáchthcWebFormđcbiêndch
Cha
các
ch
th
cho
bit
cách
thc
Web
Form
đc
biên
dch
c khai báo trong <%@ %> và có th đt ti bt k v trí nào
trên Web Form
trên
Web
Form
Mt s thuc tính quan trng:
Language
AutoEventWireup
CodeFile
Language
,
AutoEventWireup
,
CodeFile
,
Ví d:
<%@ Language=“C#” AutoEventWireup=“true”
CodeFile=“Default.aspx.cs” %>
© 2009 Khoa CNTT - HKHTN
26
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
CdCd
dl tidl ti
bl kbl k
C
o
d
e
C
o
d
e
d
ec
l
ara
ti
on
d
ec
l
ara
ti
on
bl
oc
k
s
bl
oc
k
s
c khai báo nuphnx lý logic cachng trình đc
c
khai
báo
nu
phn
x
lý
logic
ca
chng
trình
đc
th hin ngay trong Web Form ( không s dng code behind )
Khai báo các phng thchoc các hàm x lý s kin
Khai
báo
các
phng
thc
hoc
các
hàm
x
lý
s
kin
Ví d:
i
<scr
i
pt runat="server">
void mySub()
{
// Code here
}
void Page_Load( )
{
// Code here
}
</script>
© 2009 Khoa CNTT - HKHTN
27
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
CdCd
RdRd
Bl kBl k
C
o
d
e
C
o
d
e
R
en
d
e
rR
en
d
e
r
Bl
oc
k
s
Bl
oc
k
s
Là các đon code đc thc thi khi mt trang đc np
ho
c tr n
i dun
g
v
p
hía n
g
i dùn
g
.
g pg g
Bao gm 2 loi:
Inline Code
–
Inline
Code
– Inline Expression
© 2009 Khoa CNTT - HKHTN
28
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
CdCd
RdRd
Bl kBl k
Ili CdIli Cd
C
o
d
e
C
o
d
e
R
en
d
e
rR
en
d
e
r
Bl
oc
k
s
Bl
oc
k
s
I
n
li
ne
C
o
d
e
I
n
li
ne
C
o
d
e
Bao gmcáclnh x lý trên server nhng không tr
Bao
gm
các
lnh
x
lý
trên
server
nhng
không
tr
ni dung v phía trình duyt.
Thng đcs dng đ khai báo bin
Thng
đc
s
dng
đ
khai
báo
bin
c khai báo trong cp th <% %>
Ví d:
<
%
%
string Title = "This is generated by a code render block.";
%>
%>
© 2009 Khoa CNTT - HKHTN
29
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
CdCd
RdRd
Bl kBl k
Ili E iIli E i
C
o
d
e
C
o
d
e
R
en
d
e
rR
en
d
e
r
Bl
oc
k
s
Bl
oc
k
s
I
n
li
ne
E
xpress
i
on
I
n
li
ne
E
xpress
i
on
Code x lý tr thông tin v trình duyt.
Code
x
lý
tr
thông
tin
v
trình
duyt.
Thông tin tr v có th là ni dung ca mt bin hoc kt qu
ca vi
c
g
i th
c hi
n m
t
p
hn
g
thc
g p g
c khai báo trong cp th <%= %>
Ví d:
Ví
d:
<%
ti
Titl
"Thi i t d b d d bl k "
s
t
r
i
ng
Titl
e =
"Thi
s
i
s genera
t
e
d
b
y a co
d
e ren
d
er
bl
oc
k
.
"
;
%>
<%= Title %> hoc <%= mySub() %>
© 2009 Khoa CNTT - HKHTN
30
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
CC
Web
C
ontrolsWeb
C
ontrols
Bao gm 3 loi:
– Html Control
– Html Server Control
– Asp.net Server Control
c khai báo trong th
<form runat=“server” > </form>
Ví d:
<asp:Label
ID
=“
Label
1
”
runat
=“
server
”
Text
=“
Text Content
”
/>
<asp:Label
ID
Label
1
runat
server
Text
Text
Content
/>
<asp:TextBox ID=“TextBox1” runat=“server” Text=“Enter text here” />
© 2009 Khoa CNTT - HKHTN
31
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
SS
S
erve
rS
erve
r
side commentsside comments
Th hin các ghi chú trên Web Form
Th
hin
các
ghi
chú
trên
Web
Form
S dng mt trong 2 dng:
Ht l C t
!
t
–
Ht
m
l
C
ommen
t
: <
!
–
commen
t
>
– Asp.net Comment: <% comment %>
Html comment s đc gi v trình duyt do đó không
thích hp đ comment ni dung Asp.net server-side code
Asp.net comment đc dùng đ n thông tin đi vi trình
duyt nhng s đc x lý bi Asp.net runtime
© 2009 Khoa CNTT - HKHTN
32
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
SS
S
erve
rS
erve
r
side commentsside comments
Ví d:
Ví
d:
<!
<%
string
Title
= "
This is generated by a code render block
"
;
%>
<%
string
Title
This
is
generated
by
a
code
render
block
.
;
%>
<%= Title %>
>
>
Ktxutti trình duyt:
Kt
xut
ti
trình
duyt:
<!
This is generated by a code render block
This
is
generated
by
a
code
render
block
.
>
© 2009 Khoa CNTT - HKHTN
33
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
Literal Text và HTML TagsLiteral Text và HTML Tags
Cung cp cu trúc đnh dng thông tin trang web ( thông
q
ua các th Html
)
cùn
g
vi n
i dun
g
hin th
tnh
(
literal
q )g g (
text )
Nu không có thành phn này, trang web s không có
Nu
không
có
thành
phn
này,
trang
web
s
không
có
cu trúc và trình duyt s không hin th đc
© 2009 Khoa CNTT - HKHTN
34
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
Lit l T t à HTML TLit l T t à HTML T
Lit
era
l
T
ex
t
v
à
HTML
T
ags
Lit
era
l
T
ex
t
v
à
HTML
T
ags
Ví d:
<%@ Page Language=
"
C#
"
%>
<%@
Page
Language= C#
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
" /><html>
<head>
<head>
<title>Sample Page</title>
<script runat="server">
void Page_Load()
{
messageLabel Text
="
Hello World
"
;
messageLabel
.
Text
Hello
World ;
}
</script>
</head>
<body>
ft""
<
f
orm runa
t
=
"
server
"
>
<p>
<asp:Label id="messageLabel" runat="server" />
</p>
<
p
>
p
<% Declare the title as string and set it %>
<% string Title = "This is generated by a code render " +
"block."; %>
<%= Title %>
</p>
© 2009 Khoa CNTT - HKHTN
</p>
</form>
</body>
</html>
35
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
WbF đ âd i d bhidWbF đ âd i d bhid
W
e
b
F
orm
đ
c x
â
y
d
ng v
i
co
d
e
b
e
hi
n
dW
e
b
F
orm
đ
c x
â
y
d
ng v
i
co
d
e
b
e
hi
n
d
Code behind: là file mã ngun ( C#, VB.net ) cha khai báo lp có nhim
Code
behind:
là
file
mã
ngun
(
C#,
VB.net
)
cha
khai
báo
lp
có
nhim
v x lý các logic nghip v ca chng trình hay các s kin xy ra khi
ngi dùng tng tác vi WebForm
Tên ca lp này trùng vi tên ca WebForm
Ví d: nu tên WebForm là index tên class s là index
Tt c các class x lý s kin trên WebForm đu k tha t lp
S
y
stem.Web.UI.Pa
g
e
yg
Tt c các class đu cha hàm Page_Load t đng gi thc hin khi
WebForm nhn đc request t client
WebForm
nhn
đc
request
t
client
Hàm
Page Load
dùng đ khitoni dung ca các control trên
© 2009 Khoa CNTT - HKHTN
Hàm
Page
_
Load
dùng
đ
khi
to
ni
dung
ca
các
control
trên
WebForm
36
Lp trình và Thitk Web 2 – Bài 2: Giithiu ASP .NET
WbF đ âd i d bhidWbF đ âd i d bhid
W
e
b
F
orm
đ
c x
â
y
d
ng v
i
co
d
e
b
e
hi
n
dW
e
b
F
orm
đ
c x
â
y
d
ng v
i
co
d
e
b
e
hi
n
d
Ví d:
Ví
d:
© 2009 Khoa CNTT - HKHTN
37
LptrìnhvàThitk Web 2 – Bài 2: Giithiu ASP .NET
TT
ktkt
T
ng
T
ng
ktkt
u
đim
ASP .NET
u
đim
ASP
.NET
C ch hot đng ca .NET Framework
C ch
x lý ca ng dng
A
SP .NET
Cu trúc WebForm
© 2009 Khoa CNTT - HKHTN
38