Tải bản đầy đủ (.pdf) (97 trang)

Xây dựng website du lịch trực tuyến sử dụng ASP NET MVC 4

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.18 MB, 97 trang )

BO CIAO DVC VA DAD T30
TRIIING D31 HQC THANG LONG
ar-aaans-----

KHOA LUAN TOT NGHIEP
XAY DING WEBSITE DU LICH TR!J'C TUYEN
SIT DUNG ASP.NET MVC 4

Ciao vien hinting din

: ThS. Trin Quang Duy

Sinh vien thut hien

: Phan' Vinh An — A16788

Chuyen ngInh

: Khoa hos nuty ILA

HA NOI - 2014


all NO! DAU
Tnrac day viec lcinh doanh bin tour du ljch chi don than cic ding viec nhu
quip 19 tour, at tour, thong ke doanh thu th8ng qua fay tb vi bang tinh excel... Tuy
nhien, den khi nhu au di du ljch theo tour cult Mulch hang ngiy cing tang thi viec
quitn 19 bang giey Os khang can hieu qua, viec quin 19 dot tour, doanh thu se rat nhieu
thin gian vi thieu slit.
Ctng von viec ang dung CNTT duqc phit then moth trong nfrang nim vita qua,
vi de dip *rig nhu ciu di du ljch ngiy cing tang tins kith hang vi riling cao hieu qui


tong viec quin 19 tour, at tour hay tinh toin doanh thu... He thong lcinh doanh quin
19 bin tour true tuyen di duqc ra dbi.
He thong bin tour trim tuyen: la mOt phin he dinh cho khich !Ling Public c6 the
book tour gift ch6 vi thanh toil) trot tuyen thong qua cic hinh thirc thanh town: Visa,
ATM, vi dien term Nth do, tint hem rat nhieu Uri gian vi cong sac cho khich hing
mei khi co nhu cAu di du ljch. Website du ljch Inc tuyen ii mOt the hien clut he Sang
bin tour du ljch trot tuyen.
Sr ra din dm he thong bin tour trim tuyen di giup giim thieu lion the ye khang
gian vi thin gian rat nhilu gills viec lien kit ban tour, tang khi Ming quin tri mOt cich
hieu qui, &at thieu thOi gian cho than vien ding nhu ban quin tri, tang them doanh
thu bin hing, gap phiin to citu nei gin ket khich ling vai cang ty du ljch, th8ng qua
cic kenn thong tin da chi& WA nhieu lien ich, klvich hang c6 the tra cau cic thong tin
du ljch trong vi ngoii nuOc ten website moi hit moi nai.

NO1 dung bio cio dirge chic 1km 5 chums chink:
1. TONG QUAN VE ASP.NET MVC FRAMEWORK
Giai thieu ye MVC vi qui trInh hoot dOng cult ASP.NET MVC Framework
2. D4C TA YEU CAU 111 THONG
Cic ac diem co bin cita he thong bin tour trot toy& vi ac ti yeu au he thong.
3. PHAN TECH THIET ICE HI THONG
Chuang nay bao gem tic giai (top ctia phlin phis) tich nhu: phan tich thiet ice CSDL,
thiet Ice chat Wing...
4. lay DUNG CHtt NANG
Chuang nay di vao viec xiy dung co the tfmng chic ning cM he thong theo m8 hinh
MVC bao gem cic: Model, View , Controller.
5. TRIEN KHAI iiNG DUNG
Chuang nay huOng din each milt bitn vi trien khai mOt img dung ASP.NET MVC.
2/971 HI thong bin tour du Ijch trvc to+



LEI CAM UN
Em xin chin thanh cam an bO men tin Toin - Tin twang Dai hoc Thing Long di
to dieu Iden cho em thvc hien di tai nay.
Em xin cam an they TAW Quang Duy, ngueri di ten tinh gitlp do chi be° em
trong suot qua trinh thvc hien kh6a luon nay. Trong thbi gian dugs they hiding din,
chi bao em de hoc hei duqc nit nhieu kien thtic bet ich ciin thief.
Mac do di co ging holm thin de di kh6a lualn vei tit al nii hrc cult ban than
niumg chic chin khong thiku khei nheng thieu sot. Kith mong gut they c6 ten filth
chi bao.
Mt t len nu e, em xin chin thinh cam on sv giip der cis gut they c6 va In&
mong duqc sv d6ng Op qujr Mu dui tit ca moi ngutri de em c6 the lien b0 hon. Kirsh
chile gut they co lute Won mph kh6e, g#t hai duqc nhieu thanh Ong trong sv nghiep.

Ha NOi, very 4 Acing 12 ndm 2014
Sinh vien Myr hien
PHAM VINH AN

3/97 I HI thong bin tour du Itch Inc tuyin


MVC LUC

DANH MUC CAC THU4T NGU VA it WET TAT

8

DANH MIJC BINH ANH

9


CHUONG 1. TONG QUAN VE ASKNET MVC FRAMEWORK

11

1.1. Gi61 &leo ve ma hinh MVC

11

1.1.1. Cac thanh phan mia MVC

11

1.1.2. Hoot dang cia ma hinh MVC

12

1.1.1 UY dam va nhitac diim cia MVC

12

1.2. G161 Mau vi ASP.NET

13

1.3. ASP.NET WebForm truyin thong

13

1.4. ASP.NET MVC Framework


15

1.4.1. Nguan gic

15

1.4.2. Clic thanh pion ca ban mia ASP.NET MVC

15

1.4.3. Qua trinh hoot (fang cia mat ang dyng ASP.NET MVC

16

1.4.4. Mot so` &A rthng not bat caa ASP.NET MVC Framework

17

1.4.5. Liu dilm

17

1.4.6. Nhuvc diem

17

1.4.7. So sank gift ASP.NET webforn: va ASP.NET MVC

18


1.4.8. Khai km mai sing dyng ASP.NET MVC Framework

20

CHUC1NG 2. D4C Ti YEU CAU He THONG

28

2.1. TO sao con hi thong bin tour du Itch trwc tuyin

28

2.2. Cie dlic diem cc bin cia hi thong bin tour du itch trwc tuyin

29

2.3. Dec ti yeu au

29

2.3.1. Quan tc: Tour

29

2.3.2. Hart Tow

32

2.3.3. Qua 1, don dat Tour


34

2.3.4. Danh mite dia dam du lich

36

2.3.1 Quanoi tin ttic

38

2.3.6. Thong led

40

2.3.7. Quin li: tai khocin

42

4/971 Hi thong bin tour du gch1rwc tuyin


CHUONG 3. PHAN TECH TH1ET ICE HS THONG

44

3.1. PHAN TICH THEET Kg CO Sti Dtr LIP

44

3.1.1. M6 hinh quan


he at lieu

44

3.1.2. Danh sach being va mo to

45

3.1.3. Bang Country

46

3.1.4. Bang ProvinceCity

46

3.1.1 Bang Location

47

3.1.6. Bang TourType

47

3.1.7. Bang TemplateTour

48

3.1.8. Bang TemplateTourDetail


48

3.1.9. Bang Tour

49

3.1.10. Bang TourDetail

49

3.1.11. Bang TourHotelDetail

50

3.1.12. Bang BookTour

50

3.1.13. Bang BookTourDetail

51

3.1.14. Being Account

51

3.1.15. Bang Customer

52


3.1.16. Bang News

52

3.1.17. Bang Hotel

53

3.1.18. Bang HotelRoomType

53

3.1.19. Bang BookRoom

54

3.1.20. Bang BookRoomDetail

54

3.2. THAT Kt CHfIC NANG

55

3.2.1. Trang cini.

55

12.2. Trang quan tri


60

CHIIONG 4. XAY MING CHOt NANG
4.1. CLu tric mil nguIn then 'den Ink MVC

65
65

4.1.1. Models

65

4.1.2. Controllers

67

4.1.3. Views

68

5/97 I HI thong bin tour du Ijch bye tuyin


4.2. Quin if Tour

69

4.2.1. Ca so. dit lieu


69

4.2.2. Models

71

4.2.3. Controller

73

4.2.4. Views

74

4.2.5. Javascript

75

4.3. Nit tour

76

4.3.1. Ca set dri lieu

76

4.3.2. Model

77


4.3.3. Controller

78

4.3.4. View

78

4.4. Quin ty don Chit tour

79

4.4.1. Ca sa de lieu

79

4.4.2. Model

79

4.4.3. Controller

80

4.4.4. View

80

4.5. Danh myc dja diim du Ijch


81

4.5.1. Ca so da lieu

81

4.5.2. Model

82

4.5.3. Controller

83

4.5.4. View

84

4.6. Quin If tin bit

85

4.6.1. Ca so at lieu

85

4.6.2. Model

85


4.6.3. Controller

86

4.6.4. View

86

4.7. Thong ke

87

4.7.1. Model

87

4.7.2. Controller

87

4.7.3. View

88

4.8. Quin If tii khoin

6/97 I HI th6ng bin tour du Ijch bye tuyin

88



4.8.1. Ca so. da lieu

88

4.8.2. Model

89

4.8.3. Controller

89

4.8.4. View

89

MIXING 5. MIEN KHAI (NG DVNG

91

5.1. Cic buoy trim khai

91

5.2. Trail khai VnTravel site

91

5.3. Clu Mph HS cho Framework MVC sdr dung microsoft web platform

92
installer
5.4. Them VnTravel site vio HS

94

'CET LU3N

96

TAI LI$U THAM KiiA0

97

7/97 I HI thong bin tour du Lich tryc tuyin


DANH MIX CAC THU4T NGtY VA Tir WET TAT
I

1111,11 11"11

I

II

(I.:\ ilu

ICI 1;11


Framework

Nen tang

HTML

HyperText Markup Language

URL

Uniform Resource Locator

Platform

Nen tang

8/971 lif thong bin tour du lich tryc toy&


DANH MVC HINH ANH
Hinh 1.1 M6 hinh MVC

11

Hinh 1.2 Quy trinh hopt dOng cua mo hinh MVC

12

Hinh 1.3 Gong nghe ASP.NET WebForm


13

MA 1.4 Ccic think phdn co. ban cues ASP.NET MVC

15

!link 1.5 ASP.NET WebForm vi ASP.NET MVC

18

Hinh 1.6 Kheti 4w :Mg dim ASP.NET MVC

20

Hinh 1.7 HOp thogi New ASP.NET MVC3

21

Hinh 1.8 Minh hpa mot Solution Explorer cilia ASP.NET MVC3

22

Hinh 1.9 Giao dien ca ban khi chgy sing dim ASP.NET MVC c6 san

23

HIM 1.10 Kit nil ca so dit lieu bdng Entity Framework — Mak 1

24


Hinh 1.11 Kit not ca so da lieu bang Entity Framework — buck 2

25

Hinh 1.12 Kit nil ca ser da lieu ding Entity Framework — bulk 3

25

Hinh 1.13 Kit ndi ca sit da lieu bang Entity Framework — buck 4

26

Hinh 1.14 Kit ntli ca sb dit lieu bdng Entity Framework — bu6c 5

27

Rink 1.15 Kit not ca sit dd. lieu bang Entity Framework — but 6

27

Hinh 2.1 Quy trinh quern if; tour

30

Hinh 2.2 Quy trinh dOt tour

32

Hinh 23 Quy trinh pan lir don dOt tow


34

Hinh 2.4 Quy trinh gucin lf) dank mgc dja diim du lick

36

Hinh 2.5 Quy trinh quern OS tin tar

38

Hinh 2.6 Bao ctio thong ke

40

Hinh 2.7 Quy trinh quern ly tai khocin

42

Hinh 3.1 Ca so (Milieu wean he thing

44

'fink 12 Trang quern trj

60

Hinh 3.3 Danh sack tour

61


Ifinh 3.4 Them tour mbi

61

Hinh 3.5 Danh

dam du ljch

62

Hinh 3.6 Them meti diim du ljch

62

Hinh 3.7. Quern ly tin tic

63

Hinh 3.8. Them m61 tin tic

63

MIX

9/97 HI thong bin tour du Lich trim tuyin


Hinh 3.9 Chic ruing thong ke

64


Hinh 3.10 Form tham so

64

Hinh 3.11 Hein 114 kit qua

64

Hinh 4.1. du trac ma' nguan theo kiln trac MVC

65

Hinh 4.2 Thu myc Models

65

Hinh 4.3 Thu myc controllers

67

Hinh 4.4 Thu myc Views

68

Hinh 5.1 Man hinh Publish Web

91

Hinh 5.2 Man hinh Iva chon platform de chi 114t.


92

Hinh 5.3 Man hinh kilm tra thi eldt .NET Framework viz ASP.NET

93

Hinh 5.4 Kiim tra cai &ft SQL server

94

Hinh 5.5 Internet Information Services (IIS) Manager

94

Hinh 5.6 Add Website Dialog

95

10/97 I HI th6ng bin tour du lich tryt tuyEn


Ting quan in ASP.NET MVC Framework

CHISCING 1. TONG QUAN VE ASP.NET MVC FRAMEWORK
1.1. Gild thilu ve m8 hit& MVC
Khi cac phan mem ing dung ngly cing phat trim lin manh vi da dang thi vin
41 thilt Ice kiln tnic cho plain mem cans trb non phis tap han. Nhftng ling dung web
gib day cuing di phat then den mOt tam cao mei, ching khang con la nhOng img cb,mg
web thong thuirng vii chic riling hien thi thong tin mi la thong he thong thong tin h6

trq nhftng tang web tuong tic v6i ngutri ding. Nhieu giii phap thiet ke kik tnic he
thong duqc dui ra vii muc Bich lam cho he thong linh hoot, mem deo, de phat trien vi
ten tai lAu dal. Trong do, giai phip thiet Ice theo m8 hInh kiln tic MVC dtrqc Trygve
Reenskaug de xuAt vao nhftng niim 70 curt the ky 20 to ra rat hieu quit.
M8 hInh MVC (Model - View - Controller, Hirsh 1.1) la mOt kiln frac phial mem
hay m8 hinh thiet ke duqc sir dung tong ky thuit phan mem. N6 ginp cho cac nha
phat trier tack *rig dung cis hp ra thanh 3 phan khic nhau Model, View vit Controller.
Mil thinh phin co mOt nhiem vu rieng bier va dOc yeti cac thimh phan khic.
LLL Ctic thank phlin cia MVC
View

S

Controller
Model
!link 1.1 Me hinh MVC

Model
Day 11 thanh phan chive tit ca cac nghiep vu logic, phuong thftc xir ly, truy xuat
database, ded ft:mg m8 to dft lieu nhu cac Class, him xir1y...
View
Dim nhan vier hien °tilting tin, Wong tic veri nguM ding.
Controller
Gift nhiem vu nh$n diet' huing cac you cau tft nguiri ding vi goi ding nhftng
phuang thirc xi lt chimg.

11/971 HI thong bin tour du Lich tryt tuyin


Tang quan vi ASP.NET MVC Framework

LL2. Hoot Ong cdo m6 hind MVC
Diy 1>1 mOt each dun giro (HInh 1.2) di m6 tit lai luhng sq lden duqc xfr trong
MVC:
- User ttumg tic v6i View, bing citch click vio button, user girl yeu au di.
- Controller thin vi (lieu huang chtmg den dung pinning thirc xir lt 6 Model.
- Model nh$n thong tin vi thqc thi cic you au.
- Khi Model hoin tit vi.c xir it, View se nh$n ket qui M Model vi hien thi lei
cho ngubi dung.

I

Yaw

I ICI

I

Mad

Ars

I
I

Ifinh 1.2 Quy trinh how dOng aia m6 hinh MVC
L L3.

Os memo& taupe ttlim cola MVC

4, has Sm:

The hichi tinh chuyen nghiep trong lip trinh, phis tick thiet ke. Do duqc chin
thbh cic thanh phin doc lop nen gulp phis trier img dor% nhanh, don gitin, de fling
cep, bio

12/97 I Elf thong bin tour du lfch trim tuyin


Tang quan vi ASP.NET MVC Framework
49 Nktnyc tam:
Doi veal dg an nh6 v.** ap dung m8 hinh MVC gay ding kenh, tan thin gian
trong qua trinh phitt trier. Tan thbi gian trung chuyin di lieu glut clic thanh phin.
1.2. GM tbilu vi ASP.NET
ASP.NET la mOt nin tang ph& then img dung web (web application framework)
dugs phat tan va cung cep WA Microsoft, cho phis') nhftng ngubi lop trInh too ra
nheng trang web Ong, nheng img dung web va nhing djch vu web Lin diu den
dugc dua ra thi trubng vac* thing 2 Mtn 2002 can vgi phi& ban 1.0 ctla .NET
framework, la gong nghe n6i tiep ciut Microsoft Active Server Pages(ASP). ASP.NET
dugc bier djch duel ding Common Language Runtime (CLR), cho phep nheng ngubi
11p trinh viet ma ASP.NET yen bit 10 nem net Mo duct ha trg bgi .NET language.
1.3. ASP.NET WebForm truyin thong
ASP.NET la mOt buck nhity vqt khi lin diu xuit hien, nhim thu hgp khoang
catch gift phitt trier Window Form huOng dai tugng (c6 trang thai) Ara phat tan web
huOng HTML (khong tang Hirsh 1.3 dual diy minh boa c8ng nghe ASP.NET
Webform
ASP.NET Web Forms
A MANI mom ponsats (poen, butons. a.) plus a
'OSA objutothensd pregansins model

ASP.NET
web sew

A way to hoe .NET **Mambas la NI
product), MS you Inflict sib IMP mats ard response

MET
codapYtlarm
A
(bnandasw at die time-o Yet Irk In lb own right)

Ilink 1.3 Con nghe ASP.NET WebForm

Vgi Web Forms, Microsoft di c6 in di HTTP va HTML bang cach m8 phgng
giao dien ngubi dung nhulti mOt d6i tugng dilo khan (Control) c6 ciu trac hoot dOng
phis Server.
Mai &Si tugng diiu lchien (Control) theo doi trang thiti cite no th8ng qua cac you
au (sir dung tinh nAng ViewState), bieu then bing chc ml HTML khi can thiet. Ninth
ra, ng con to dOng lc& ntai citc sty kien phis Client (nhtr sit kien bim button) ten cac sly
kien phis Server dugs xt1 15, Mang (mg. Thuc te, Web Forms lit mOt 16p trUu tugng
lcheng 16 dugc thiet key de cung cep giao dien co xir sit kien th6ng qua Web.

13/97 I HI thong bin tour du lids traps tuyin


Ting quan vi ASP.NET MVC Framework
Nheng aim ban chi cilia ASP.NET Web Forms
—ASP.NET Web Forms truyen thong tong lit mOt tutng rit t6t, nhung thvc to
lai phit sink nheng dieu phirc tap khic. Theo thin gian, vile se dung
ASP.NET Web Forms di neu bet 16n mOt se thieu set;
—ViewState: Co the duy tri bang thii thing qua cic yeu ciu (request) thubng
mang lai ket qui la nhftng kh6i Ku:mg km de lieu duqc chuyen giao gift client
va server. De lieu nay c6 the len den hang trim Kbs 6 mOt irng dung web yea

phii, va n6 di qua loi yeti bit kir yeu ciu nio. Dieu nay lam chi= di then gian
chit phin h6i va lim tang nhu ciu Wing thong ctia server;
—Page life cycle (Chu irk ten Au cea mOt tang web): Li cc the kit n6i sv kiln
phis client yeti mi xu 19 sv kiln phis server. N6 phirc top va bi phi ver,

a

—Y thec sal ye vile tich bilt cic thimh phin: Me hinh code-behind clot
ASP.NET cung clip meat giiti phip cho phep itng dtmg dua code ra khei cic
clang HTML vao thinh mOt 16p code-behind rieng bolt. Dieu nay duqc hoan
xir 1St. Nhtmg thvc te,
nghenh rOng ran yeti vile tech bill giao dien yeti
nheng nha phit trien duqc khuyen khfch pha trOn mi giao dien yeti mi xb ljr
1mg dung (nhu la xi: 15f CSDL) tong nheng 16p code-behind khing 16. Neu
lcheng c6 sv tech biet gift cic thimh phin, ket qui culi cimg c6 the rot kh6
hieu;
—Limited control over HTML (giiri han hem soit HTML): Server control tv tao
ra cic ml HTML, nhung khong phii la mi HTML ma ta mong dqi. Ngoai vile
mi HTML ctia thing thubng kh8ng twin theo lieu chuim web hole lcheng sir
dung t6t CSS ma he thong cic server control can too ra cic gii tri ID phirc tap
vi kh8ng doin three duqc, lim lch6 khin tong vile sir dung JavaScript;
—Khi fling Idem the thlip: Cic nbi thiet ke cis ASP.NET kheng the dv doin
ring kiem the tv dOng se to dulnh mOt phin tit yeu cea ?CU huong phat trien
phin mem. Kheng ngoc nhien khi lden true chit chi ma hp thiet ke la kheng
phe hqp yeti vile tick hqp ldem the.
ASP.NET vlin tip tµc pith tan. Phi& bin 2.0 them mOt thanh phin chuin di
giam bat se lucmg code ma chting ta cin phil tv viet. Vol phien bin gin Whit
ASP.NET 4.5, mqi the di duqc ning cop ding ke. Phien bin ASP.NET 4.5 di ip dung
mOt s6 tinh Kiang dui ASP.NET MVC vao Web Forms. Tuy v$y, van con mOt han chi
ten ton ben trong no.


14/97 1 HI thong bin tour du lfch tryc tuyin


Tong quan vi ASP.NET MVC Framework

1.4. ASP.NET MVC Framework
Nhu di giei thieu 6 plain truck, mo5 hinh MVC v6i tru diem ctla minh dit duqc
(rug ding trong met so the framework. Trong d6 phii ki den ASP.NET MVC, met
framework ma ngu6n me mei, ay ding tren ASP.NET .
ASP.NET MVC Framework duqc thvc thi tren m6 hinh model—view—controller
(MVC). N6 gqn nap, de clang him di* phin giao dien, tich hop cac tinh :tang elm
ASP.NET . MVC Framework duqc djnh nghla trong namespace System.Web.Mvc vat
lit met phitn cua Wiling gian ten System.Web.
1.4.1. Ngudn gic

Tuy cling nghe ASP.NET MVC mai duqc phis thin nhung n6 c6 ljch sir lk dot
Nen tang MVC duqc pith minh bin Trygve Renskaug, Ong di vitt trang giiy diu tien
nOi ve MVC vio Mm 1978. Ban diu ne dirge Eli 11 Thing Model View Editor pattern,
nhung sau de n6 duqc dot ten lai 11 Model View Controller pattern.
ASP.NET MVC llin diu lien suit hien d6 1:1 trong dtr in mil ngu6n me
MonoRail.
Ngu6n geoc th$t sv de cho ra din cling nghe Microsoft ASP.NET MVC 11 do
Scott Guthrie (mOt trong nhttng nhit sang too ra ASP.NET ) tren chuyen bay den
Austin, Texas de nOi vi hOi thito Alt.NET vio thing 10-2007.
Phien bin ASP.NET MVC 1.0 dirge ra d6i vio nilm 2009.
1.4.2. Cdc thank pun cc ban caa ASP.NET MVC

IP
ASP.NET MVC Framework


Rink 1.4 Ccic thank pidm co bin ctia ASP.NET MVC

Models: Cac d6i tuqng Models lit met phlin ctla img dung, cac d6i tuqng My
thiet lOp logic cita phin de lieu cUa itng ding. Thong thutmg, the d6i tuqng model liy
vi ltm tang thii mkt model trong CSDL. VI dv nhu, met d61 tuqng Product (sin
ph1m) se lAy dit lieu ttY CSDL, thao tic ton de lieu vit se cep nhet da lieu tit lai vie
bang Products 6 SQL Server.

15/971 HO thong bin tour du ljch trot tuyin


Tang quan vi ASP.NET MVC Framework
Views: Views la cic thinh phin ding de hien thj giao dien ngutri ding (UI).
ThBng thutmg, view dupe to dtra vao th8ng tin de lieu Models. Vi du nhu, view ding
de cep nh#t bing Products se hien thi cic hOp von ban, drop-down list, vi cic check
box dua ten tang thii hien tai cis mOt d6i taco% Product.
Controllers: Controller lit cic thimh plain dung de quin 19 tuang tic ngutri dung,
lam viec yell model vi chon view de hien thi giao dien ngutri ding. Trong mOt irng
dung MVC, view chi duce ding di hien th1 thong tin, controller chiu trich nhiem quan
19 vit dip tri nOi dung do ngutri ding nhip vtl Wong tic vei ngutri ding. Vi du,
controller se quip 19 cic de lieu ngutri ding gel len (query-sting values) vit gfri cic
gii tri d6 don model, model se lity de lieu ttl CSDL nhe via cic gii tri thy.
M8 hlnh MVC gifip chins to to duqc cic (mg dung ml ching phitn tich rach rdi
cic lchfa canh elm ling dung (logic ve nhop lieu, logic xis 19 tic vu vit logic ve giao
dien). M8 hinh MVC chi ra mOi loth logic ke ten nen dirge thiep 1#p b diu tren irng
dung. Logic giao dien (UI logic) thuOc ve views. Logic nh#p lieu (input logic) thuOc
ye controller. VI logic tic vu (Business logic —11 logic xi 19 thong tin, muc dich chinh
coo ling dung) thuOc ye model. Su phin chia nay giUp ching to giitm bet ducm str phirc
top cis tug dung vit chi t#p trung vio m6i !this cosh cin duce cii Olt 6 moi thbi diem.

Vi du nhu citing to chi cin tip trung vim giao dien (views) ma kh8ng phii quan tam
den logic xt119 thong tin dm img dung.
St: phin tich rach rbi ba thitnh phis mkt (mg dung MVC con &it cho viec 1#p
trInh dien ra song song. Vi du nhu met lttp trinh visa Run viec vei view, lop trinh vien
thin hth lo th dat logic cis controller vi l‘tp trinh vien this ba co the trung vao logic
tic vu cia model tth cling mOt thbi diem.
1.4.3. Qud Dinh hog! qng cia mQt kw Ong ASP.NET MVC
Cie giai down thuc hien cia mOt (mg dung ASP.NET MVC duqc trhrh bity duei My:
—Nh#n yeu citu diu lien: Trong file Global.asax, the d6i Wong Route duqc them
vie RouteTable;
—Thyme hien viec djnh tuyen: Module UrlRoutingTable se dung d6i tuqng Route
diu lien thich hop hung tip RouteTable de to d6i tucmg RouteData. D6i
him nay sau de lei to ra d6i tutyng RequestContext (IHttpContext);
—Tao ra trinh xis 19 yeu cow ling dung: D6i Wong MvcRouteHandler too ra mOt
the hien dm lop MvcHandler vI truyin vac, no the hien RequestContext;

16/97 I HI thong bin tour du Ijch try tit+


T6ng quan vi ASP.NET MVC Framework
- Too ra controller: Cic d6i ttrqng MvcHandler sir dung the hien cis
xic djnh dei tuqng IcontrollerFactory qua de to ra the
RequestContext
hien controller;

a

- Thuc hien vai trb cis controller. The hien MvcHandler goi phucrng tit
Execute ctia controller;
- Goi action method: D61 tucmg ControllerActionlnvoker se xic djnh action

method cos mOt lap controller de gqi ra.
L4.4. Mft sti tusk ming nii b91 cda ASP.NET MVC Framework
- Tich bitch cic tic At cita tang dung.
- Co khi ning ma rOng (extensible) & khi ning !thing (pluggable). Cic thinh
phin cis ASP.NET MVC duqc thiet ke de ching c6 the ductc thay the hoic
thy chinh mOt cich di ding.
- ASP.NET MVC c6 thinh pit inh xo URL mph me, cho phep cluing to xiy
dtmg nheng ang dung c6 cic dill chi URL xfic Lich vi di dm kiem. Cic dia chi
URL Icheing clin phii c6 pan ma rOng cis ten tip tin vi duqc thiet ke de h8
trq cic mitt djnh dung ten phi hop vii viec t•Si tm Ma tim lam (URL).
- H8 trq the fifth Jiang c6 sin cis ASP.NET nhu ea chi xic that ngubi clung,
quin 1St thinh vier, quyin, output caching vi data caching, seession vi profile,
quin ljr tinh nag img dung, he th6ng ceu birth_
- Ta ASP.NET MVC 3 con be sung mOt view engine mai lit Razor View
Engine cho phep thiet lip cic view nhanh chOng, di ding vi ton it ding sue
hart so vai viec su dung Web Forms View Engine.
L4.5. Liu dlim
- Di ding quin It su phirc top cia ang dung bing cich chia img dung thinh ba
thinh phial model, view, controller.
- H8 trq tot hon cho m6 With phit men bug dung huffing kiem thin.
- He th6ng djnh tuyin munh me.
- H8 trq tot cho cic ting dung ducyc ay dung bai nhang dOi cd nhieu lip trinh
vier vi thiet ke mi yin quart ljr &Km tinh rang cis (ling dung.
- H8 trq nhiang tinh fling tot nhet di c6 a ASP.NET .
1.4.6. Arbirpc diEm
- KhOng huang den su lden lint cho cic nlul phit tan ASP.NET webform kh6
khan.

17/971 H, thing bin tour du itch trim tuyin



Tong quan ye ASP.NET MVC Framework
— Yeu c.Au c6 hieu biet ve HTTP, HTML, CSS vi JavaScript.
L4.7. So sdnh gilts ASP.NET webfonn vb ASP.NET MVC

Hinh 1.5 ASP.NET WebForm va ASP.NET MVC

.Net Framework: ha trq cac loui img dung nhu desktop, web vi the img dung console.
ASP.NET framework lit mOt plan ctia .NET framework (Hinh 1.5), duqc xi)/ dung
nh&m ha trq cic img dung Web (caching, authentication va authorization).
Trong do, Microsoft c6 2 huong phis trios web tren n✓ n ASP.NET la ASP.NET
Webforms vi ASP.NET MVC. Muc dlch ra dbi cint ASP.NET MVC chi 11 str they d6i
ve mat to duy, n6 'thong hotin Won thay the cho c6 img dung ASP.NET Web Forms,
vi vies chqn htrang silo de xay dung mOt website 11 thy thuOc vio cfc nha pith then.
Su kilo biet gifts 2 huOng pilot trim nay duce the hien du6i bang sau.
I \I I

I In!' n inn

phip
tong trinh

St) dung cu phip cart

\I I \ I \

Cic str kiOn duqc dieu khiEn bei

webform, tit tic su kien controllers, clic controls lch6ng
va controls do server quart do server quan

It

Debug

Debug chuong trinh phii Debug c6 the sir dung cat unit

18/971M Meng bin tour du Itch twc tuytn


Tong quan vi ASP.NET MVC Framework
NII

I

thcc hien ci bao g c m

test ld tra cac phuung thirc

cic 16rp truy cep dli lieu,

tong controller

sc hien thi, dieu Ichien cic
controls/

Twang tic vol

(

KM kW) khan


javascript

19/97111e th6ng bin tour du ljch trce tuyin

Thuen lqi


Tong quan vi ASP.NET MVC Framework
1.4.8. ladi mo mdi ung dpng ASP.NET MVC Framework

KW tao mOt itng dyng MVC
Trong bO phin mom Visual Studio 2010 dil c6 sin ASP.NET MVC Framework, to to
mOt do an mei theo dubng din sau: File > New Project > Visual C# > Web >
ASP.NET MVC Web Application (Mull 1.6).

Hirsh 1.6 Kltui tgo ring dyng ASP.NET MVC

20/97 HO thang bin tour du 46 Inrc tuyin


Tong cinan vi ASP.NET MVC Framework
Sau khi him OK, hOp thoai New ASP.NET MVC3 hien ra (Binh 1.7).

Project Temkin
5dect a template
M
Empty

Mobile

Application

Intranet
Application

Basic

Desaiptiove
A default ASP.NET INC 4 project wilt an
account cornets thd usestome
authentication.

A

ti
W API Singk Page Facebook
Application Application

V

Is engine
Rex
peak a unit test project
Test project name



MvcAppicationt.Tests
Test framework
Yowl Stud* Mit Test


Additional Into

Cancel
4

Hinh 1.7 HO thogi New ASP.NET MVC3

Chung ta ce the chon kieu template la Empty, Internet Application hoc Intranet
Application.
- Empty se nto ra nhang thu muc va tip tin tdi thieu cho ling dung MVC3.
- Internet Application se nto ra met ling dung c6 s6 trang mac djnh, cluing ta co the mkt
d6i va xay dung tren no.
- Toy chqn Intranet Application cling tuong ar nhu Internet Application, niumg duqc

coca hinh sin de stl dung trang mei tilting Vic thqc ngtrbi dan,g thong qua ha tang
Domain/ Active Directory.
Chang ta cOng c6 the too project test cling vol ling dung MVC tir cling met cart s6.
Ben canh d6, ta cling ce the chqn the dO ViewEngine lh ASPX hoic Razor.

21/971 11f thong bin tour du ljch trite tuyin


Tong quan vi ASP.NET MVC Framework
(3 day, ta chip Internet Application, Razor ViewEngine Ara Ichang chin unit test
project. Bern OK de holm tit.
Solution Explorer se hien ra nhu hinh 1.8:

Search Solution Explorer (Ctrl.;)


I; Solution 'Mvapprocationt (1 project)
properties

0 oil References
APP-Data
0 la App_Strt
0
Controllers
S Akers

a comet
a

0 a Images
0 la Models
S Saipts
Views
▪ favicon.ico
GlobeLaux


I.

Padcart‘corlfig
Web.config

Rink 1.8 Minh boa mat Solution Explorer coo ASP.NET MI7C3

Bang duel day ma to nOi dung throng din ctla met du in MVC Internet Apllication.
1)11'6 II"


/Content

La thu muc thubng chtia nhftng dft lieu tibh, nhu la hinh
imh, tep tin css,...
Visual Web Developer tu dung them thu muc Themes vac.
trong Content. Thu attic themes la thu muc chira cac tep
Jquery va hinh anh. Trong du an nay ta co the mkt thu
themes.
Visual Web Developer et-mg them 1 file CSS cat vio du
an ten hi Site.css trong thu muc Content. File CSS la file
Oa 'chi ta mu& thay tthi style ciut (mg dung.

22/97 I H. thong bin tour du 106 type tuyin

a


quan vi ASP.NET MVC Framework
1)111111" , I,111

G• m cac lep d china cac me hInh di i tuqng cua ling

/Models

dung. Models quin lt vi than tic vOi din lieu.

Thu muc Script luu trit clic file Jan Script caa img dung.

/Scripts


Mac djnh Visual Web Developer se dot thu muc nay lam
char' de chira cac file Jquery. File "modernize la file
Javascript a h6 trq HTML5 vil CSS3.
Bien (itch vi chgy
Val viec lqa chon Internet Application tut dO, ling dung cim chang to d>i c6 dA chat
Wing ea ban. Hinh 1.9 la ket qui khi chang to chay the bing each bim F5:
<- 6 *
01

Os *ma 411.1

0 Man la Ohs.- •06.1•Sane- • 2,4 6.10 Cr% Or CO M.,. • • • m• •

■ WO ■ Wes.ati

** no*
• a Illibragiala

Noe we
”ntal
err. tent,'

Home Page_ 14,1



'UT MVC acpleal.on

;i


ansepeaelhambp
ereeftwed
teememenenswesprersienil
4.0•1•Anateinhak

41•01thinIM.

illitalleUeleelle1
es es
flat
hisCleasnIM1IIIM1114004041Inillp 0.11.111a Ws.

Weems Isms. we atone ens ay

410



adialindolleM100111.11•ineedle
pyis yam oft le ~ay wise ing UMW *SIN& MIMS.

emovemase
veentom neb bleyeamselenllineeVe lene•seee "nee epees a.m.

sembanwasuina.

IBM 1.9 Giao then co ban khi chgy sing Ming ASP.NET MVC cd siin

23/971 111 th6ng bin tour du ljch trgc twin



Tong quan vi ASP.NET MVC Framework
De dfmg chuang trinh, ta t6 hqp phim Shift + F5 hoec chqn Debug Menu vi churl Stop

Debugging.
Kit nii ea se de lieu SQL Server bing Entity Framework
ADO.NET Entity Framework lit mat non tang thgtc 611 dung de lam vies WA CSDL.
Chtng ta c6 the truy van, thao tic v6i database gian nap thong qua cic d6i trqng LSp
trinh.
Chiang ta se kit n6i CSDL bing Entity Framework Database First. N6 se to Ong too
ra data model vit the 16p cho chfing ta tO mat CSDL c6 sin. Day 11 mat cich tiep can

ph6 Win vi no thuc hien don gian, nhanh ch6ng.
Trong cira si Solution click chuOt pith chun Add > New Item...
IS

5

lic ActionResult About()

]fink 1.10 Kit di co. ser de lieu being Entity Framework - buoy 1

24/971140 thing bin tour du lich tnrc tuyin

7

asp



'ding quan in ASP.NET MVC Framework
Tiep then, clam AD0.1VET Entity Data Model, bim Add

Hirsh 1.11 Kit nil cast di) lieu bang Entity Framework— Mak 2

Giao dien Bien m nhu ben duel, bim Next

Hinh 1.12 Kit nil ca st dl? lieu bibtg Entity Framework

25/97 I H. thong bin tour du Ifeh true MAI

-

buck 3


×