Thiếtkế & Lập trình Web 2
GiớithiệumônhọcGiớithiệumônhọc
Giới
thiệu
môn
họcGiới
thiệu
môn
học
ầ
Ths. Tr
ầ
nThị Bích Hạnh
Khoa CNTT Khoa CNTT –– ĐH.KHTNĐH.KHTN
© 2009 Khoa Công nghệ thông tin
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
NộidNộid
Nội
d
ung
Nội
d
ung
Mục
tiêu
môn
học
Mục
tiêu
môn
học
Kiếnthứcyêucầu
Nội dung chương trình
Phầnmềmsử dụng trong môn học
Tài liệu tham khảo
Đáh
iá
kết
ả
ô
h
Đá
n
h
g
iá
kết
qu
ả
m
ô
n
h
ọc
Phương pháp học
Liên hệ
© 2009 Khoa CNTT - ĐHKHTN
2
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
MM
tiê ôtiê ô
hh
M
ụ
M
ục
tiê
u m
ô
n c
tiê
u m
ô
n
h
ọ
h
ọcc
Nắm
ững
các
khái
niệm
cơ
bản
của
ASP NET
Nắm
v
ững
các
khái
niệm
cơ
bản
của
ASP
.
NET
Thực hành thành tạocáckỹ thuật liên quan sử dụng
ASP.NET
Có khả năn
g
xâ
y
d
ự
n
g
m
ộ
t ứn
g
d
ụ
n
g
web đơn
g
iảnsử
g
y
ự g
ộ
g
ụ g
g
dụng ASP.NET
© 2009 Khoa CNTT - ĐHKHTN
3
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
KiKi
ếế
thth
ứứ
êê
ầầ
KiKi
ếế
n
th
n
th
ứứ
c y
ê
u cc y
ê
u c
ầầ
uu
Kiến
thức
cơ
bản
về
web
Kiến
thức
cơ
bản
về
web
– HTTP, HTML, CSS…
–
Client scripting language : VBScript /JavaScript
–
Client
scripting
language
:
VBScript
/JavaScript
– Server side scripting : CGI, ASP…
Lập trình C# / VB.NET
Căn bản về CSDL và ngôn ngữ T-SQL
Ki
ế
nth
ứ
cv
ề
MS Access
M
S
SQL Server
MS SQL Express
Ki
ế
n
th
ứ
c
v
ề
MS
Access
,
M
S
SQL
Server
,
MS
SQL
Express
© 2009 Khoa CNTT - ĐHKHTN
4
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
Nộid h tì hNộid h tì h
Nội
d
ung c
h
ương
t
r
ì
n
hNội
d
ung c
h
ương
t
r
ì
n
h
Giới
thiệ
ASP NET
Giới
thiệ
u
ASP
.
NET
Xử lý sự kiện trong ASP.NET
Làm việcvới các Server Control của ASP.NET
Thiếtkế và
q
uảnl
ý
g
iao di
ệ
n website
q
ý
g
ệ
Làm việcvới CSDL và ADO.NET
Quản
lý
trạng
thái
với
ASP NET
Quản
lý
trạng
thái
với
ASP
.
NET
Bảomật ứng dụng Web
Kiểmthử ứng dụng Web
© 2009 Khoa CNTT - ĐHKHTN
5
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
PhầPhầ
ềề
ửử
dd
tt
ôô
hh
Phầ
n
Phầ
nm
ề
mm
ề
ms
ử
s
ử
d
ụng
d
ụng
t
rong
t
rong m
ô
nm
ô
n
h
ọc
h
ọc
Môi
trường
lập
trình
Môi
trường
lập
trình
– Microsoft Visual Studio 2005/2008
Web Server
– IIS (Internet Information Services)
Hệ quảntrị CSDL
–
Microsoft Access
hoặc
–
Microsoft
Access
hoặc
– Microsoft SQL Server 2005
– Microsoft SQL Express 2005
© 2009 Khoa CNTT - ĐHKHTN
6
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
PhầPhầ
ềề
ửử
dd
tt
ôô
hh
Phầ
n
Phầ
nm
ề
mm
ề
ms
ử
s
ử
d
ụng
d
ụng
t
rong
t
rong m
ô
nm
ô
n
h
ọc
h
ọc
Công
cụ
Thiết
kế
Web (
tùy
chọn
)
Công
cụ
Thiết
kế
Web
(
tùy
chọn
)
– Dreamweaver
Photoshop
–
Photoshop
© 2009 Khoa CNTT - ĐHKHTN
7
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
TàTà
iliili
ệệ
thth
khảkhả
TàTà
i
lii
li
ệệ
u
th
am u
th
am
khảkhả
oo
T
dld
tài
liệ
bài
iả
LT
T
rang
d
own
l
oa
d
tài
liệ
u
bài
g
iả
ng
LT
– /> Trang Web tham khảo
–
–
htt
p
:/
/
www.as
p
.net
p
p
– />http://
www w
3
corg
–
http://
www
.
w
3
c
.
org
– />© 2009 Khoa CNTT - ĐHKHTN
8
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
ĐĐ
áá
hh
iáiá
kk
ếế
tt
ảả
ôhôh
ĐĐ
áá
n
h
n
h
g
iá
g
iá
kk
ếế
t
t
qu
ả
qu
ả
m
ô
n
h
ọcm
ô
n
h
ọc
Thi
lần
1
Thang điểm môn TK & LT Web2
Thi
lần
1
Đồ án TH 70%
Bài tập
Bài tập LT/TH 30%
Đồ án
Thực hành
Đồ án + Bài tập= 10
Cheating + AAA = 0
© 2009 Khoa CNTT - ĐHKHTN
9
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
ĐĐ
áá
hh
iáiá
kk
ếế
tt
ảả
ôhôh
ĐĐ
áá
n
h
n
h
g
iá
g
iá
kk
ếế
t
t
qu
ả
qu
ả
m
ô
n
h
ọcm
ô
n
h
ọc
Thi
lần
2
Thang điểm môn TK & LT Web2
Thi
lần
2
Lý thuyếtThiviết 80%
Thực hành lần1 20%
Lý thuyếtThực hành
© 2009 Khoa CNTT - ĐHKHTN
10
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
PhPh
háhá
hh
Ph
ương
Ph
ương p
há
pp
há
p
h
ọc
h
ọc
Lý
thuyết
Lý
thuyết
– Sinh viên chú ý nghe giảng và ghi chú vào tài liệu bài giảng
môn h
ọ
c
ọ
– Tích cực thảoluận, đặtcâuhỏitrênlớpkhicóvấn đề không
hiểu
– Tham khảo các website liên quan
Thực hành
ẫ
–
Sinh viên thực hành theo các video hướng d
ẫ
ncáckỹ thuật
cơ bản
© 2009 Khoa CNTT - ĐHKHTN
11
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
ĐồĐồ
áá
thth
hà hhà h
ĐồĐồ
á
n
á
n
th
ực
th
ực
hà
n
hhà
n
h
1 Nhóm gồm3-5 SV
Điểm Đồ án sẽđượcchianhỏ ra từng giai đoạn(yêucầucụ thể và
Timeline sẽđược thông báo sau). Các mốc chính bao gồm:
Nộp
đặc
tả
chức
năng
khảo
sát
cho
website
–
Nộp
đặc
tả
chức
năng
khảo
sát
cho
website
– Nộpthiếtkế Layout
–
N
ộ
p
Sitemap
+
Template Website
N
ộ
p
Sitemap
Template
Website
– Nộpthiếtkế CSDL
– Nộpthiếtkế xử lý
– Chấmvấn đáp cuốikỳ
KHÔNG
ch
ấ
m
cá
c
bà
i
Nộp
TRỄ!!!
KHÔNG
ch
ấ
m
cá
c
bà
i
Nộp
TRỄ!!!
© 2009 Khoa CNTT - ĐHKHTN
12
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
Đă ký hóĐă ký hó
Đă
ng
ký
n
hó
m
Đă
ng
ký
n
hó
m
Đ
ăn
g
k
ý
trên hệ thốn
g
Moodle
g
ý
g
GV sẽ chỉđịnh nội dung đồ án tương ứng cho từng nhóm
© 2009 Khoa CNTT - ĐHKHTN
13
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
Liê hệLiê hệ
Liê
n
hệLiê
n
hệ
Diễn
đàn
môn
học
trên
Moodle
Diễn
đàn
môn
học
trên
Moodle
–
Email:
– TrầnThị Bích Hạnh –
ễ
• BM CNPM - Phòng I82
–
227 Nguy
ễ
nVănCừ, Q.5
Quy tắcgửi email:
–
Subject: [Web
2
-
Lop]
–
[MSSV]
–
Nội
dung
tiêu
đề
Subject:
[Web
2
Lop]
[MSSV]
Nội
dung
tiêu
đề
– Ví dụ:
• Web2-04TN – 04TN000 – Xin phuc khao diem LT
•
Web
2
06
TN
06
TN
000
Xin
phuc
khao
diem TH
•
Web
2
-
06
TN
–
06
TN
000
–
Xin
phuc
khao
diem
TH
© 2009 Khoa CNTT - ĐHKHTN
14
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
© 2009 Khoa CNTT - ĐHKHTN
15
Thiếtkế & Lập trình Web 2
GiớithiệumônhọcGiớithiệumônhọc
Giới
thiệu
môn
họcGiới
thiệu
môn
học
ầ
Ths. Tr
ầ
nThị Bích Hạnh
Khoa CNTT Khoa CNTT –– ĐH.KHTNĐH.KHTN
© 2009 Khoa Công nghệ thông tin
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
NộidNộid
Nội
d
ung
Nội
d
ung
Mục
tiêu
môn
học
Mục
tiêu
môn
học
Kiếnthứcyêucầu
Nội dung chương trình
Phầnmềmsử dụng trong môn học
Tài liệu tham khảo
Đáh
iá
kết
ả
ô
h
Đá
n
h
g
iá
kết
qu
ả
m
ô
n
h
ọc
Phương pháp học
Liên hệ
© 2009 Khoa CNTT - ĐHKHTN
2
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
MM
tiê ôtiê ô
hh
M
ụ
M
ục
tiê
u m
ô
n c
tiê
u m
ô
n
h
ọ
h
ọcc
Nắm
ững
các
khái
niệm
cơ
bản
của
ASP NET
Nắm
v
ững
các
khái
niệm
cơ
bản
của
ASP
.
NET
Thực hành thành tạocáckỹ thuật liên quan sử dụng
ASP.NET
Có khả năn
g
xâ
y
d
ự
n
g
m
ộ
t ứn
g
d
ụ
n
g
web đơn
g
iảnsử
g
y
ự g
ộ
g
ụ g
g
dụng ASP.NET
© 2009 Khoa CNTT - ĐHKHTN
3
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
KiKi
ếế
thth
ứứ
êê
ầầ
KiKi
ếế
n
th
n
th
ứứ
c y
ê
u cc y
ê
u c
ầầ
uu
Kiến
thức
cơ
bản
về
web
Kiến
thức
cơ
bản
về
web
– HTTP, HTML, CSS…
–
Client scripting language : VBScript /JavaScript
–
Client
scripting
language
:
VBScript
/JavaScript
– Server side scripting : CGI, ASP…
Lập trình C# / VB.NET
Căn bản về CSDL và ngôn ngữ T-SQL
Ki
ế
nth
ứ
cv
ề
MS Access
M
S
SQL Server
MS SQL Express
Ki
ế
n
th
ứ
c
v
ề
MS
Access
,
M
S
SQL
Server
,
MS
SQL
Express
© 2009 Khoa CNTT - ĐHKHTN
4
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
Nộid h tì hNộid h tì h
Nội
d
ung c
h
ương
t
r
ì
n
hNội
d
ung c
h
ương
t
r
ì
n
h
Giới
thiệ
ASP NET
Giới
thiệ
u
ASP
.
NET
Xử lý sự kiện trong ASP.NET
Làm việcvới các Server Control của ASP.NET
Thiếtkế và
q
uảnl
ý
g
iao di
ệ
n website
q
ý
g
ệ
Làm việcvớiCSDL
Quản
lý
trạng
thái
với
ASP NET
Quản
lý
trạng
thái
với
ASP
.
NET
Bảomật ứng dụng Web
Kiểmthử ứng dụng Web
© 2009 Khoa CNTT - ĐHKHTN
5
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
PhầPhầ
ềề
ửử
dd
tt
ôô
hh
Phầ
n
Phầ
nm
ề
mm
ề
ms
ử
s
ử
d
ụng
d
ụng
t
rong
t
rong m
ô
nm
ô
n
h
ọc
h
ọc
Môi
trường
lập
trình
Môi
trường
lập
trình
– Microsoft Visual Studio 2005/2008
Web Server
– IIS (Internet Information Services)
Hệ quảntrị CSDL
–
Microsoft Access
hoặc
–
Microsoft
Access
hoặc
– Microsoft SQL Server 2005
– Microsoft SQL Express 2005
© 2009 Khoa CNTT - ĐHKHTN
6
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
PhầPhầ
ềề
ửử
dd
tt
ôô
hh
Phầ
n
Phầ
nm
ề
mm
ề
ms
ử
s
ử
d
ụng
d
ụng
t
rong
t
rong m
ô
nm
ô
n
h
ọc
h
ọc
Công
cụ
Thiết
kế
Web (
tùy
chọn
)
Công
cụ
Thiết
kế
Web
(
tùy
chọn
)
– Dreamweaver
Photoshop
–
Photoshop
© 2009 Khoa CNTT - ĐHKHTN
7
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
TàTà
iliili
ệệ
thth
khảkhả
TàTà
i
lii
li
ệệ
u
th
am u
th
am
khảkhả
oo
T
dld
tài
liệ
bài
iả
LT
T
rang
d
own
l
oa
d
tài
liệ
u
bài
g
iả
ng
LT
– /> Trang Web tham khảo
–
–
htt
p
:/
/
www.as
p
.net
p
p
– />http://
www w
3
corg
–
http://
www
.
w
3
c
.
org
– />© 2009 Khoa CNTT - ĐHKHTN
8
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
ĐĐ
áá
hh
iáiá
kk
ếế
tt
ảả
ôhôh
ĐĐ
áá
n
h
n
h
g
iá
g
iá
kk
ếế
t
t
qu
ả
qu
ả
m
ô
n
h
ọcm
ô
n
h
ọc
Thi
lần
1
Thang điểm môn TK & LT Web2
Thi
lần
1
LT thi viết: 40%
ế
Bài tập
TH t
r
ựcti
ế
ptrênmáy 40%
Bài t
ập
LT/TH 20%
Lý thuyết
ập
Thực hành
Thi viết+ Thực hành + Bài tập= 10
Cheating + AAA = 0
© 2009 Khoa CNTT - ĐHKHTN
9
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
ĐĐ
áá
hh
iáiá
kk
ếế
tt
ảả
ôhôh
ĐĐ
áá
n
h
n
h
g
iá
g
iá
kk
ếế
t
t
qu
ả
qu
ả
m
ô
n
h
ọcm
ô
n
h
ọc
Thi
lần
2
Thang điểm môn TK & LT Web2
Thi
lần
2
LT Thi viết: 80%
Thực hành
Thực hành lần1: 20%
Lý thuyết
© 2009 Khoa CNTT - ĐHKHTN
10
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
PhPh
háhá
hh
Ph
ương
Ph
ương p
há
pp
há
p
h
ọc
h
ọc
Lý
thuyết
Lý
thuyết
– Sinh viên chú ý nghe giảng và ghi chú vào tài liệu bài giảng
môn h
ọ
c
ọ
– Tích cực thảoluận, đặtcâuhỏitrênlớpkhicóvấn đề không
hiểu
– Tham khảo các website liên quan
Thực hành
ẫ
–
Sinh viên thực hành theo các video hướng d
ẫ
ncáckỹ thuật
cơ bản
© 2009 Khoa CNTT - ĐHKHTN
11
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
Liê hệLiê hệ
Liê
n
hệLiê
n
hệ
Diễn
đàn
môn
học
trên
Moodle
Diễn
đàn
môn
học
trên
Moodle
–
Email:
– TrầnThị Bích Hạnh –
ễ
• BM CNPM - Phòng I82
–
227 Nguy
ễ
nVănCừ, Q.5
Quy tắcgửi email:
–
Subject: [Web
2
-
Lop]
–
[MSSV]
–
Nội
dung
tiêu
đề
Subject:
[Web
2
Lop]
[MSSV]
Nội
dung
tiêu
đề
– Ví dụ:
• Web2-04TN – 04TN000 – Xin phuc khao diem LT
•
Web
2
06
TN
06
TN
000
Xin
phuc
khao
diem TH
•
Web
2
-
06
TN
–
06
TN
000
–
Xin
phuc
khao
diem
TH
© 2009 Khoa CNTT - ĐHKHTN
12
Thiếtkế & Lập trình Web 2 – Giớithiệumônhọc
© 2009 Khoa CNTT - ĐHKHTN
13
Lập trình và Thiết kế Web 2
Bà
i
2
Bà
i
2
GiớiGiới
thiệuthiệu
ASPASP
.NET.NET
GiớiGiới
thiệuthiệu
ASP
ASP
.NET.NET
Ths
Trần
Thị
Bích
Hạnh
Ths
.
Trần
Thị
Bích
Hạnh
Khoa CNTT Khoa CNTT –– ĐH.KHTNĐH.KHTN
© 2009 Khoa Công nghệ thông tin
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
ASP .NET
Giới
thiệu
về
ASP
.NET
Giớithiệuvề .NET Framework
ầ
Các thành ph
ầ
ncủamột ứng dụng
A
SP .NET
Cơ chế xử lý một ứng dụng ASP.NET
Cấutrúccủa 1 WebForm
© 2009 Khoa CNTT - ĐHKHTN
2
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
ASP .NET
Giới
thiệu
về
ASP
.NET
Giớithiệuvề .NET Framework
ầ
Các thành ph
ầ
ncủamột ứng dụng
A
SP .NET
Cơ chế xử lý một ứng dụng ASP.NET
Cấutrúccủa 1 WebForm
© 2009 Khoa CNTT - ĐHKHTN
3
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
GiớiGiới
thiệthiệ
ASP NETASP NET
GiớiGiới
thiệ
u
thiệ
u
ASP
.
NETASP
.
NET
ASP .NET
ASP
.NET
– Active Server Page .NET
Công
nghệ
của
Microsoft
cho
phép
xây
dựng
các
ứng
dụng
–
Công
nghệ
của
Microsoft
cho
phép
xây
dựng
các
ứng
dụng
web động
–
Dựa
trên
nền
tảng
NET Framework
Dựa
trên
nền
tảng
.
NET
Framework
– Được phát triểnlêntừ ASP
© 2009 Khoa CNTT - ĐHKHTN
4
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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 dịch
Cho phép tạocácứng dụng web đơngiản, nhanh chóng
và dễ dàng
Tạo trang web có tích hợp nội dung động
© 2009 Khoa CNTT - ĐHKHTN
5
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Kh ếtKh ết
điểđiể
ủủ
ASPASP
Kh
uy
ếtKh
uy
ết
điể
m
điể
mc
ủ
ac
ủ
a
ASPASP
Chỉ
hỗ
trợ
2
loại
ngôn
ngữ
:
VBScript
và
JavaScript
Chỉ
hỗ
trợ
2
loại
ngôn
ngữ
:
VBScript
và
JavaScript
Pha trộn code, HTML và text
Không tương thích trình duyệt
Không quảnlýtrạng 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
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Cá điể ổibật ủ ASP NETCá điể ổibật ủ ASP NET
Cá
c
điể
m n
ổi
bật
c
ủ
a
ASP
.
NETCá
c
điể
m n
ổi
bật
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 dịch trước các trang, giúp làm tăng tốc độ thựchiện
A
SP code độclập với HTML và text
Quảnlýtrạng 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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Cá điể ổibật ủ ASP NETCá điể ổibật ủ ASP NET
Cá
c
điể
m n
ổi
bật
c
ủ
a
ASP
.
NETCá
c
điể
m n
ổi
bật
c
ủ
a
ASP
.
NET
Sử
dụng
cơ
chế
Server
-
side
Caching
Sử
dụng
cơ
chế
Server
side
Caching
Đi cùng với nhiều server control đượcxâydựng sẵn
Tựđộng nhậndạng trình duyệtngười dùng đang sử dụng
© 2009 Khoa CNTT - ĐHKHTN
8
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Cá điể ổibật ủ ASP NETCá điể ổibật ủ ASP NET
Cá
c
điể
m n
ổi
bật
c
ủ
a
ASP
.
NETCá
c
điể
m n
ổi
bật
c
ủ
a
ASP
.
NET
Web
Service
:
triển
khai
một
hàm
từ
xa
thông
qua
web
Web
Service
:
triển
khai
một
hàm
từ
xa
thông
qua
web
© 2009 Khoa CNTT - ĐHKHTN
9
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
ASP .NET
Giới
thiệu
về
ASP
.NET
Giớithiệuvề .NET Framework
ầ
Các thành ph
ầ
ncủamột ứng dụng Web
Cơ chế xử lý một ứng dụng ASP.NET
Cấutrúccủa 1 WebForm
© 2009 Khoa CNTT - ĐHKHTN
10
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Giớithiệ ề NET F kGiớithiệ ề NET F k
Giới
thiệ
u v
ề
.
NET
F
ramewor
kGiới
thiệ
u v
ề
.
NET
F
ramewor
k
.NET Framework là nềntản
g
cho Microsoft.NET Platform
g
.NET Framework là môi trường cho việcxâydựng, triển
khai và vận hành các ứn
g
dụn
g
Win/Web cũn
g
như Web
g
g
g
Service
© 2009 Khoa CNTT - ĐHKHTN
11
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Giớithiệ ề NET F kGiớithiệ ề NET F k
ii
22
00
Giới
thiệ
u v
ề
.
NET
F
ramewor
k
Giới
thiệ
u v
ề
.
NET
F
ramewor
k
––
vers
i
on vers
i
on
22
00
Giú
p
đơn
g
iản hóa
q
uá
p
g
q
trình phát triển, tích hợp
sản phẩm
.NET Framework không
phụ thuộc vào ngôn ngữ
phụ
thuộc
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
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
CC
hếhế
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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Giớithiệ ề NET F kGiớithiệ ề NET F k
ii
33
00
Giới
thiệ
u v
ề
.
NET
F
ramewor
k
Giới
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
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Giớithiệ ề NET F kGiớithiệ ề NET F k
ii
33
55
Giới
thiệ
u v
ề
.
NET
F
ramewor
k
Giới
thiệ
u v
ề
.
NET
F
ramewor
k
––
vers
i
on vers
i
on
33
55
© 2009 Khoa CNTT - ĐHKHTN
15
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
ASP.NET
Giới
thiệu
về
ASP.NET
Giớithiệuvề .NET Framework
ầ
Các thành ph
ầ
ncủamột ứng dụng Web
Cơ chế xử lý một ứng dụng ASP.NET
Cấutrúccủa 1 WebForm
© 2009 Khoa CNTT - ĐHKHTN
16
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Cấ SCấ S
Cấ
u trúc một ứng dụng A
S
P.NET
Cấ
u trúc một ứng dụng 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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
CáCá
thà hthà h
hầhầ
ủủ
ộtột
ứứ
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
NộiNội dungdung
Wb
W
e
b
Form
LậpLập trình xử lýtrình xử lý
Cấu hìnhCấu hình
© 2009 Khoa CNTT - ĐHKHTN
18
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
CáCá
thà hthà h
hầhầ
ủủ
ộtột
ứứ
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
một
ứng
dụng
ASP NET
hoàn
chỉnh
các
phần
thực
Trong
một
ứng
dụng
ASP
.
NET
hoàn
chỉnh
,
các
phần
thực
thi của Web Form đượclưu trong các file .dll và chạytrên
server
thông
qua
điều
khiển
của
IIS
server
thông
qua
điều
khiển
của
IIS
© 2009 Khoa CNTT - ĐHKHTN
19
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
ASP.NET
Giới
thiệu
về
ASP.NET
Giớithiệuvề .NET Framework
ầ
Các thành ph
ầ
ncủamột ứng dụng
A
SP. NET
Cơ chế xử lý một ứng dụng ASP.NET
Cấutrúccủa 1 WebForm
© 2009 Khoa CNTT - ĐHKHTN
20
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
DD
D
emo
D
emo
Giới
thiệu
cách
tạo
ASP.NET Web Project
Giới
thiệu
cách
tạo
ASP.NET
Web
Project
Các chếđộThiếtkế và lậptrình
ể
Biên dịch và Tri
ể
n khai Web Project
© 2009 Khoa CNTT - ĐHKHTN
22
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
ASP.NET
Giới
thiệu
về
ASP.NET
Giớithiệuvề .NET Framework
ầ
Các thành ph
ầ
ncủamột ứng dụng
A
SP .NET
Cơ chế xử lý một ứng dụng ASP.NET
Cấutrúccủa 1 WebForm
© 2009 Khoa CNTT - ĐHKHTN
23
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
CấCấ
Cấ
u trúc một Web Form aspx
Cấ
u trúc một Web Form aspx
Một Web Form bao gồm các thành phần:
Một
Web
Form
bao
gồm
các
thành
phần:
– 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
trực tiếp trên WebForm hoặc tách biệt trong file Code Behind
© 2009 Khoa CNTT - ĐHKHTN
24
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Cấutrúcmột Web Form aspxCấutrúcmột Web Form aspx
Cấu
trúc
một
Web
Form
aspxCấu
trúc
một
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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Di tiDi ti
Di
rec
ti
ves
Di
rec
ti
ves
Chứacácchỉ thị cho biếtcáchthứcWebFormđượcbiêndịch
Chứa
các
chỉ
thị
cho
biết
cách
thức
Web
Form
được
biên
dịch
Được khai báo trong <%@ %> và có thể đặt tại bất kỳ vị trí nào
trên Web Form
trên
Web
Form
Một số thuộc tính quan trọng:
Language
AutoEventWireup
CodeFile
Language
,
AutoEventWireup
,
CodeFile
,
Ví dụ:
<%@ Language=“C#” AutoEventWireup=“true”
CodeFile=“Default.aspx.cs” %>
© 2009 Khoa CNTT - ĐHKHTN
26
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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 nếuphầnxử lý logic củachương trình được
Được
khai
báo
nếu
phần
xử
lý
logic
của
chương
trình
được
thể hiện ngay trong Web Form ( không sử dụng code behind )
Khai báo các phương thứchoặc các hàm xử lý sự kiện
Khai
báo
các
phương
thức
hoặc
các
hàm
xử
lý
sự
kiện
Ví dụ:
i
<scr
i
pt runat="server">
void mySub()
{
// Code here
}
void Page_Load( )
{
// Code here
}
</script>
© 2009 Khoa CNTT - ĐHKHTN
27
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu 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 đoạn code được thực thi khi một trang được nạp
ho
ặ
c trả n
ộ
i dun
g
về
p
hía n
g
ười dùn
g
.
ặ ộ g pg g
Bao gồm 2 loại:
Inline Code
–
Inline
Code
– Inline Expression
© 2009 Khoa CNTT - ĐHKHTN
28
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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 gồmcáclệnh xử lý trên server nhưng không trả
Bao
gồm
các
lệnh
xử
lý
trên
server
nhưng
không
trả
nội dung về phía trình duyệt.
Thường đượcsử dụng để khai báo biến
Thường
được
sử
dụng
để
khai
báo
biến
Được khai báo trong cặp thẻ <% %>
Ví dụ:
<
%
%
string Title = "This is generated by a code render block.";
%>
%>
© 2009 Khoa CNTT - ĐHKHTN
29
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu 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 duyệt.
Code
xử
lý
trả
thông
tin
về
trình
duyệt.
Thông tin trả về có thể là nội dung của một biến hoặc kết quả
của vi
ệ
c
gọ
i th
ự
c hi
ệ
n m
ộ
t
p
hươn
g
thức
ệ gọ ự ệ ộ p g
Được khai báo trong cặp 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 %> hoặc <%= mySub() %>
© 2009 Khoa CNTT - ĐHKHTN
30
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
CC
Web
C
ontrolsWeb
C
ontrols
Bao gồm 3 loại:
– 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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
SS
S
erve
rS
erve
r
side commentsside comments
Thể hiện các ghi chú trên Web Form
Thể
hiện
các
ghi
chú
trên
Web
Form
Sử dụng một trong 2 dạng:
Ht l C t
!
t
–
Ht
m
l
C
ommen
t
: <
!
–
commen
t
>
– Asp.net Comment: <% comment %>
Html comment sẽ được gởi về trình duyệt do đó không
thích hợp để comment nội dung Asp.net server-side code
Asp.net comment được dùng để ẩn thông tin đối với trình
duyệt nhưng sẽ được xử lý bởi Asp.net runtime
© 2009 Khoa CNTT - ĐHKHTN
32
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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 %>
>
>
Kếtxuấttại trình duyệt:
Kết
xuất
tại
trình
duyệt:
<!
This is generated by a code render block
This
is
generated
by
a
code
render
block
.
>
© 2009 Khoa CNTT - ĐHKHTN
33
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
Literal Text và HTML TagsLiteral Text và HTML Tags
Cung cấp cấu trúc định dạng thông tin trang web ( thông
q
ua các thẻ Html
)
cùn
g
với n
ộ
i dun
g
hiển th
ị
tĩnh
(
literal
q )g ộ g ị (
text )
Nếu không có thành phần này, trang web sẽ không có
Nếu
không
có
thành
phần
này,
trang
web
sẽ
không
có
cấu trúc và trình duyệt sẽ không hiển thị được
© 2009 Khoa CNTT - ĐHKHTN
34
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu 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ã nguồn ( C#, VB.net ) chứa khai báo lớp có nhiệm
Code
behind:
là
file
mã
nguồn
(
C#,
VB.net
)
chứa
khai
báo
lớp
có
nhiệm
vụ xử lý các logic nghiệp vụ của chương trình hay các sự kiện xảy ra khi
người dùng tương tác với WebForm
Tên của lớp này trùng với tên của WebForm
Ví dụ: nếu tên WebForm là index tên class sẽ là index
Tất cả các class xử lý sự kiện trên WebForm đều kế thừa từ lớp
S
y
stem.Web.UI.Pa
g
e
yg
Tất cả các class đều chứa hàm Page_Load tự động gọi thực hiện khi
WebForm nhận được request từ client
WebForm
nhận
được
request
từ
client
Hàm
Page Load
dùng để khởitạonội dung của các control trên
© 2009 Khoa CNTT - ĐHKHTN
Hàm
Page
_
Load
dùng
để
khởi
tạo
nội
dung
của
các
control
trên
WebForm
36
Lập trình và Thiếtkế Web 2 – Bài 2: Giớithiệu 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
LậptrìnhvàThiếtkế Web 2 – Bài 2: Giớithiệu ASP .NET
TổTổ
kếtkết
Tổ
ng
Tổ
ng
kếtkết
Ưu
điểm
ASP .NET
Ưu
điểm
ASP
.NET
Cơ chế hoạt động của .NET Framework
ế
Cơ ch
ế
xử lý của ứng dụng
A
SP .NET
Cấu trúc WebForm
© 2009 Khoa CNTT - ĐHKHTN
38
Lập trình và Thiết kế Web 2
Bà
i
3
Bà
i
3
SựSự
kiệnkiện
trongtrong
ASP.NETASP.NET
SựSự
kiệnkiện
trongtrong
ASP.NETASP.NET
Ths
Trần
Thị
Bích
Hạnh
Ths
.
Trần
Thị
Bích
Hạnh
Khoa CNTT Khoa CNTT –– ĐH.KHTNĐH.KHTN
© 2009 Khoa Công nghệ thông tin
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
Event
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ệ
ủ
Aliti &S i
–
Cá
csự
kiệ
nc
ủ
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các sự kiệncủa WebForm
– Các sự kiệncủa ServerControl
© 2009 Khoa CNTT - ĐHKHTN
2
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
Event
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ệ
ủ
Aliti &S i
–
Cá
csự
kiệ
nc
ủ
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các sự kiệncủa WebForm
– Các sự kiệncủa ServerControl
© 2009 Khoa CNTT - ĐHKHTN
3
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện 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
dụng
web ASP .NET
sử
dụng
mô
hình
lập
trình
Ứ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ứcxử lý khi có sự kiệnxảyra
protected void Page_Load(object sender, EventArgs e)
{
…
}
© 2009 Khoa CNTT - ĐHKHTN
4
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện 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
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện 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
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
PtPt
bkbk
P
os
tP
os
t
b
ac
kb
ac
k
© 2009 Khoa CNTT - ĐHKHTN
7
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện 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
}
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
Vi St tVi St t
Vi
ew
St
a
t
e
Vi
ew
St
a
t
e
Lưu
thông
tin
trạng
thái
các
control
trên
trang
web
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ướidạng ẩn
Khi trang web được postback lại server,
A
SP.Net sẽ phục
hồilạicáctrạng thái của control trước đó& cậpnhật
những
thay
đổi
những
thay
đổi
Sau đógọi các hàm xử lý sự kiệncủa Page & Control
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUJODExMDE5NzY5D2QWAgIDD2QWAgIBDw8WAh4EVGV4dAUK
MDgvMDE
vMjAwNmRkZDZPhFHJER4chf3nmlgfL+uq4W58" />
© 2009 Khoa CNTT - ĐHKHTN
9
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
Event
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ệ
ủ
Aliti &S i
–
Cá
csự
kiệ
nc
ủ
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các sự kiệncủa WebForm
– Các sự kiệncủa ServerControl
© 2009 Khoa CNTT - ĐHKHTN
10
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện 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 dịch 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ấtcả
mã nguồn
vào một file
.DLL
lưu
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
© 2009 Khoa CNTT - ĐHKHTN
11
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện 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
Bắt đầumột 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ọilà
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
đ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ờigianngắn
trong
1
khoảng
thời
gian
ngắn
© 2009 Khoa CNTT - ĐHKHTN
12
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện 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 sống tiếptục
Chu
trình
sống
tiếp
tục
– Người dùng tương tác vớigiaodiệnweb(gõvàotext
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ạtmộtsự kiện post-back (nhấn button …)
–
Dữ
liệu
của
trang
(
view
state
)
được
gửi
về
cho
server
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
•
Nó
tạo
ra
thể
hiện
mới
của
Web
Form
• Điềndữ liệuvàoview state
•
Xử
lý
các
sự
kiện
xảy
ra
Xử
lý
các
sự
kiện
xảy
ra
• Trả kếtquả HTML về cho trình duyệtvàhủythể hiệncủaWeb
Form
© 2009 Khoa CNTT - ĐHKHTN
13
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện 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 sống tiếptục
Chu
trình
sống
tiếp
tục
© 2009 Khoa CNTT - ĐHKHTN
14
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện 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 sống kết thúc
Chu
trình
sống
kết
thúc
– Khi người dùng tắt trình duyệt, hoặcsaumộtkhoảng thờigian
timeout không refesh lại trang web thì Session củakế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
© 2009 Khoa CNTT - ĐHKHTN
15
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
Event
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ệ
ủ
Aliti &S i
–
Cá
csự
kiệ
nc
ủ
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các sự kiệncủa WebForm
– Các sự kiệncủa ServerControl
© 2009 Khoa CNTT - ĐHKHTN
16
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện 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 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ộtngườ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ệthoặcsaumộtkhoả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
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
Event
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ệ
ủ
Aliti &S i
–
Cá
csự
kiệ
nc
ủ
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các sự kiệncủa WebForm
– Các sự kiệncủa ServerControl
© 2009 Khoa CNTT - ĐHKHTN
18
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
PEtPEt
P
age
E
ven
tP
age
E
ven
t
Tên sự kiệnXảyrakhi
PIi
Cá
l
đ
à
khởi
i
P
age_
I
n
i
t
Cá
c server contro
l
đ
ượcnạpv
à
khởi
tạo trong v
i
ew
state của 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
ạ
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ạnviếtmãlệnh thay đổi
thiếtlậpcủa control hoặchiểnthị dữ liệu lên trang.
Page_DataBinding Server control trên trang đượcgắnkếtvới nguồndữ
liệu.
Page_PreRender Bắt đầu dàn trang cho đốitượng Page.
Page_Unload Đốitượng Page đượchủykhỏibộ nhớ.
Page_Error Khi có lỗi không đượcxử lý xảy ra trong trang.
© 2009 Khoa CNTT - ĐHKHTN
19
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
© 2009 Khoa CNTT - ĐHKHTN
20
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
PIitPIit
P
age_
I
n
itP
age_
I
n
it
© 2009 Khoa CNTT - ĐHKHTN
21
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
PLdPLd
P
age_
L
oa
dP
age_
L
oa
d
© 2009 Khoa CNTT - ĐHKHTN
22
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện 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
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
NộidNộid
Nội
d
ung
Nội
d
ung
Giới
thiệu
về
Event
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ệ
ủ
Aliti &S i
–
Cá
csự
kiệ
nc
ủ
a
A
pp
li
ca
ti
on
&
S
ess
i
on
– Các sự kiệncủa WebForm
– Các sự kiệncủa ServerControl
© 2009 Khoa CNTT - ĐHKHTN
24
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
CáCá
kiệkiệ
ủủ
SCtlSCtl
Cá
c
Cá
csựsự
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
– 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ửivề 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ếtlậpsự 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
LậptrìnhvàThiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
CáCá
kiệkiệ
ủủ
SCtlSCtl
Cá
c
Cá
csựsự
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ý kiểmtradữ liệu trên trang trướckhigửivề cho server
–
Validation server control
–
Validation
server
control
© 2009 Khoa CNTT - ĐHKHTN
26
Lập trình và Thiếtkế Web 2 – Bài 3: Sự kiện trong ASP.NET
TổTổ
kếtkết
Tổ
ng
Tổ
ng
kếtkết
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