You are on page 1of 139

Bi Ging Mn Lp Trnh Website ASP.

Net
Bin san: Dng Thnh Pht Trang 1
MC LC
Chng 01: TNG QUAN V ASP.NET ........................................................... Trang 1
I. Gii thiu v ASP.Net.................................................................................................1
1. Tm hiu v ASP.Net ......................................................................................1
2. Nhng u im ca ASP.Net ..........................................................................1
3. Qu trnh x l tp tin ASPX............................................................................2
4. Tm hiu v .Net Phatform v .Net Framework................................................3
II. Web Server ............................................................................................................... 6
1. Internet Information Services...........................................................................6
2. Ci t Web Server ........................................................................................7
3. Cu hnh Internet Information Services ...........................................................9
III. To ng dng Web u tin ..................................................................................12
1. Khi ng MS Visual Studio .Net .................................................................12
2. To mi ng dng Web.................................................................................13
3. B sung cc iu khin..................................................................................14
4. Thi hnh ng dng .......................................................................................15
5. Phn loi tp tin trong ASP.Net .....................................................................15
IV. Lm quen vi cc thnh phn giao din trn VS .Net ........................................16
1. Solution Explorer .........................................................................................16
2. Property Window ..........................................................................................17
3. Toolbox .........................................................................................................17
4. Document Outline Window ............................................................................18
Chng 02: WEB SERVER CONTROL .....................................................................19
I. iu khin c bn chun Standard......................................................................19
1. Label ..............................................................................................................20
2. TextBox .........................................................................................................20
3. Image.............................................................................................................20
4. Button, ImageButton, LinkButton ...................................................................21
5. HyperLink.......................................................................................................22
6. ListBox V DropDownList ..............................................................................22
7. CheckBox & RadioButton ..............................................................................25
8. CheckBoxList & RadioButtonList ...................................................................25
II. iu khin kim tra d liu
III. Mt s iu khin khc
IV. i tng ViewState
V. Asp.Net Page
Chng 03: CC IU KHIN LIN KT D LIU
I. iu khin DataGrid...................................................................................... 62
I.1. Cc thao tc nh dng li ...........................................................................62
I.2. X l sp xp................................................................................................67
I.3. X l phn trang ...........................................................................................69
I.4. Ty bin cc ct ...........................................................................................70
I.5. Cp nht d liu trc tip trn li.................................................................74
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 2
II. iu khin DataList ...................................................................................... 79
II.1. S dng DataList hin th d liu...............................................................79
II.2. Cp nht d liu vi DataList .........................................................................83
III. iu khin Repeater ..................................................................................... 87
IV. Cc v d m rng ......................................................................................... 90
IV.1. X l o hng sp xp trong DataGrid ........................................................90
IV.2. To biu tng sp xp trong ct cho DataGrid...............................................91
IV.3. nh dng hnh thc hin th cho dng d liu tha iu kin trn DataGrid ......92
IV.4. To hiu ng chn khi r chut qua cc dng d liu ......................................93
Bi 4.................................................................................................................... 94
XY DNG LP X L D LIU.......................................................................... 94
I. Thit k tng quan........................................................................................ 96
I.1. Cu trc chi tit lp XL_BANG ........................................................................98
I.2. Xy dng lp x l nghip v.......................................................................102
I.3. S dng lp x l nghip v ........................................................................104
Bi 5.................................................................................................................. 108
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 3/174
XY DNG I TNG TH HIN.................................................................... 108
I. To mi i tng th hin......................................................................... 109
II. S dng i tng th hin ........................................................................ 111
III. To phng thc cho i tng th hin.................................................... 112
IV. To s kin cho i tng th hin ............................................................ 113
IV.1. Thit k .....................................................................................................114
IV.2. X l..........................................................................................................114
Bi 6.................................................................................................................. 117
XY DNG V QUN L NG DNG ................................................................. 117
I. i tng Request, Response..................................................................... 118
I.1. i tng Response....................................................................................118
I.2. i tng Request ......................................................................................120
II. i tng Session, Application................................................................... 122
II.1. i tng Application..................................................................................123
II.2. i tng Session.......................................................................................124
III. i tng Server......................................................................................... 125
IV. i tng Cookies ...................................................................................... 125
IV.1. Gii thiu ...................................................................................................125
IV.2. Lm vic vi Cookies ...................................................................................126
V. Tp tin qun l v cu hnh ng dng......................................................... 127
V.1. Global.asax.................................................................................................127
V.2. Web.config.................................................................................................128
VI. T chc & xy dng ng dng.................................................................... 133
VI.1. T chc lu tr ng dng............................................................................133
VI.2. Xy dng ng dng ....................................................................................134
Bi 7.................................................................................................................. 136
WEB SERVICE ................................................................................................... 136
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 3
I. Tm hiu v Web Services ........................................................................... 137
II. Xy dng Web Services .............................................................................. 140
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 4/174
II.1. To Web Services trong VS .Net...................................................................140
II.2. Kim tra Web Service ..................................................................................141
III. S dng Web Service.................................................................................. 143
III.1. S dng Web Service do ngi dng xy dng .............................................144
III.2. S dng Web Services c cung cp min ph trn mng.............................144
IV. Xy dng Web Services truy xut d liu................................................... 148
IV.1. Web Service: WS_KHACH_HANG..................................................................148
IV.2. S dng WS_KHACH_HANG.........................................................................150
Bi 8.................................................................................................................. 152
PH LC ........................................................................................................... 152
I. C s d liu dng trong ng dng ............................................................ 153
I.1. Thit k c s d liu..................................................................................153
I.2. D liu th.................................................................................................156
II. Gii thiu v cc tag HTML ......................................................................... 157
II.1. C bn v tag HTML....................................................................................157
II.2. Cc tag nhp liu........................................................................................163
III. Cascading Style Sheets - CSS...................................................................... 166
III.1. Gii thiu CSS.............................................................................................166
III.2. C php CSS ..............................................................................................167
III.3. S dng CSS trong trang HTML....................................................................169
Chng 01
TNG QUAN V ASP.NET
Gii thiu v Asp.Net
Web Server
To ng dng web u tin
I. Gii thiu v ASP.Net
1. Tm hiu v ASP.Net
T khong cui thp nin 90, ASP (Active Server Page) c nhiu lp trnh vin la
chn xy dng v pht trin ng dng web ng trn my ch s dng h iu hnh
Windows. ASP th hin c nhng u im ca mnh vi m hnh lp trnh th tc n
gin, s dng hiu qu cc i tng COM: ADO (ActiveX Data Object) - x l d liu, FSO
(File System Object) - lm vic vi h thng tp tin, ng thi, ASP cng h tr nhiu ngn
ng: VBScript, JavaScript.
Chnh nhng u im , ASP c yu thch trong mt thi gian di. Tuy nhin,
ASP vn cn tn ng mt s kh khn nh Code ASP v HTML ln ln, iu ny lm cho qu
trnh vit code kh khn, th hin v trnh by code khng trong sng, hn ch kh nng s
dng li code. Bn cnh , khi trin khai ci t, do khng c bin dch trc nn d b mt
source code, hn ch v mt tc thc hin. Qu trnh x l Postback kh khn,
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 4
u nm 2002, Microsoft gii thiu mt k thut lp trnh Web kh mi m vi tn gi
ban u l ASP+, tn chnh thc sau ny l ASP.Net. Vi ASP.Net, khng nhng khng cn
i hi bn phi bit cc tag HTML, thit k web, m n cn h tr mnh lp trnh hng i
tng trong qu trnh xy dng v pht trin ng dng Web.
ASP.Net l k thut lp trnh v pht trin ng dng web pha Server (Server-side)
da trn nn tng ca Microsoft .Net Framework.
Hu ht, nhng ngi mi n vi lp trnh web u bt u tm hiu nhng k thut
pha Client (Client-side) nh: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web
browser yu cu mt trang web (trang web s dng k thut client-side), Web server tm trang
web m Client yu cu, sau gi v cho Client. Client nhn kt qu tr v t Server v hin
th ln mn hnh.
ASP.Net s dng k thut lp trnh pha server th hon ton khc, m lnh pha
server (v d: m lnh trong trang ASP, ASP.NET) s c bin dch v thi hnh ti Web
Server. Sau khi c Server c, bin dch v thi hnh, kt qu t ng c chuyn sang
HTML/ JavaScript/ CSS v tr v cho Client.
Tt c cc x l lnh ASP, ASP.Net u c thc hin ti Server v do , gi l k
thut lp trnh pha server.
2. Nhng u im ca ASP.Net
ASP.Net cho php bn la chn mt trong cc ngn ng lp trnh m bn yu thch:
Visual Basic.Net, J#, C#,
Trang ASP.Net c bin dch trc thnh nhng tp tin DLL m Server c th thi hnh
nhanh chng v hiu qu. Yu t ny l mt bc nhy vt ng k so vi k thut
thng dch ca ASP.
ASP.Net h tr mnh m b th vin phong ph v a dng ca .Net Framework, lm
vic vi XML, Web Service, truy cp c s d liu qua ADO.Net,
ASPX v ASP c th cng hot ng trong 1 ng dng.
ASP.Net s dng phong cch lp trnh mi: Code behide. Tch code ring, giao din
ring D c, d qun l v bo tr.
Kin trc lp trnh ging ng dng trn Windows.
H tr qun l trng thi ca cc control
T ng pht sinh m HTML cho cc Server control tng ng vi tng loi Browser
Trin khai ci t
o Khng cn lock, khng cn ng k DLL
o Cho php nhiu hnh thc cu hnh ng dng
H tr qun l ng dng mc ton cc
o Global.aspx c nhiu s kin hn
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 5
o Qun l session trn nhiu Server, khng cn Cookies
3. Qu trnh x l tp tin ASPX
Khi Web server nhn c yu cu t pha client, n s tm kim tp tin c yu cu
thng qua chui URL c gi v, sau , tin hnh x l theo s sau:
4. Tm hiu v .Net Phatform v .Net Framework
.Net Phatform
Bao gm .Net Framework v nhng cng c c dng xy dng, pht trin
ng dng v dch v. ASP.Net.
.Net Framework
Kin trc .Net Framework
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 6
H iu hnh
Cung cp cc chc nng xy dng ng dng vi vai tr qun l vic xy dng v thi
hnh ng dng, .NET Framework cung cp cc lp i tng (Class) bn c th gi thi
hnh cc chc nng m i tng cung cp. Tuy nhin, li ku gi ca bn c c
"hng ng" hay khng cn ty thuc vo kh nng ca h iu hnh ang chy ng dng
ca bn.
Cc chc nng n gin nh hin th mt hp thng bo (Messagebox) s c .NET
Framework s dng cc hm API ca Windows. Chc nng phc tp hn nh s dng cc
COMponent s yu cu Windows phi ci t Microsoft Transaction Server (MTS) hay cc
chc nng trn Web cn Windows phi ci t Internet Information Server (IIS).
Nh vy, bn cn bit rng la chn 1 h iu hnh ci t v s dng .NET
Framework cng khng km phn quan trng. Ci t .NET Framework trn cc h iu hnh
Windows 2000, 2000 Server, XP, 2003 Server, Vista s n gin v tin dng hn trong khi lp
trnh.
Common Language Runtime
L thnh phn "kt ni" gia cc phn khc trong .NET Framework vi h iu hnh.
Common Language Runtime (CLR) gi vai tr qun l vic thi hnh cc ng dng vit bng
.NET trn Windows.
CLR s thng dch cc li gi t chng trnh cho Windows thi hnh, m bo ng dng
khng chim dng v s dng trn lan ti nguyn ca h thng. N cng khng cho php cc
lnh "nguy him" c thi hnh. Cc chc nng ny c thc thi bi cc thnh phn bn
trong CLR nh Class loader, Just In Time compiler, Garbage collector, Exception handler, COM
marshaller, Security engine,
Trong cc phin bn h iu hnh Windows mi nh XP.NET v Windows 2003, Win
Vista CLR c gn km vi h iu hnh. iu ny m bo ng dng vit ra trn my tnh
ca chng ta s chy trn my tnh khc m khng cn ci t, cc bc thc hin ch n
gin l mt lnh xcopy ca DOS!
B th vin cc lp i tng
Nu phi gii ngha t "Framework" trong thut ng .NET Framework th y l lc thch
hp nht. Framework chnh l mt tp hp hay th vin cc lp i tng h tr ngi lp
trnh khi xy dng ng dng. C th mt s ngi trong chng ta nghe qua v MFC v JFC.
Microsoft Foundation Class l b th vin m lp trnh vin Visual C++ s dng trong khi
Java Foundation Class l b th vin dnh cho cc lp trnh vin Java. Gi y, c th coi
.NET Framework l b th vin dnh cho cc lp trnh vin .NET.
Vi hn 5000 lp i tng gi thc hin cc loi dch v t h iu hnh, chng
ta c th bt u xy dng ng dng bng Notepad.exe!!! Nhiu ngi lm tng rng cc
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 7
mi trng pht trin phn mm nh Visual Studio 98 hay Visual Studio.NET l tt c nhng g
cn vit chng trnh. Thc ra, chng l nhng phn mm dng lm "v bc" bn ngoi.
Vi chng, chng ta s vit c cc on lnh cc mu xanh, ; li c php bo ngay khi
ang g lnh; thuc tnh ca cc i tng c t ngay trn ca s properties, giao din
c thit k theo phong cch trc quan Nh vy, chng ta c th hnh dung c tm quan
trng ca .NET Framework.
Nu khng c ci ct li .NET Framework, Visual Studio.NET cng ch l ci v bc!
Nhng nu khng c Visual Studio.NET, cng vic ca lp trnh vin .NET cng lm bc gian
nan!
o Base class library th vin cc lp c s
y l th vin cc lp c bn nht, c dng trong khi lp trnh hay bn
thn nhng ngi xy dng .NET Framework cng phi dng n xy dng cc
lp cao hn. V d cc lp trong th vin ny l String, Integer, Exception,
o ADO.NET v XML
B th vin ny gm cc lp dng x l d liu. ADO.NET thay th ADO
trong vic thao tc vi cc d liu thng thng. Cc lp i tng XML c
cung cp bn x l cc d liu theo nh dng mi: XML. Cc v d cho b th
vin ny l SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter,
o ASP.NET
B th vin cc lp i tng dng trong vic xy dng cc ng dng Web.
ASP.NET khng phi l phin bn mi ca ASP 3.0. ng dng web xy dng bng
ASP.NET tn dng c ton b kh nng ca .NET Framework. Bn cnh l
mt "phong cch" lp trnh mi m Microsoft t cho n mt tn gi rt ku: code
behind.
y l cch m lp trnh vin xy dng cc ng dng Windows based thng
s dng giao din v lnh c tch ring. Tuy nhin, nu bn tng quen vi
vic lp trnh ng dng web, y ng l mt s "i i" v bn c gii phng
khi m lnh HTML ln xn ti hoa c mt.
S xut hin ca ASP.NET lm cn xng gia qu trnh xy dng ng dng
trn Windows v Web.
ASP.NET cung cp mt b cc Server Control lp trnh vin bt s kin v
x l d liu ca ng dng nh ang lm vic vi ng dng Windows. N cng cho
php chng ta chuyn mt ng dng trc y vit ch chy trn Windows thnh
mt ng dng Web kh d dng. V d cho cc lp trong th vin ny l WebControl,
HTMLControl,
o Web services
Web services c th hiu kh st ngha l cc dch v c cung cp qua
Web (hay Internet). Dch v c coi l Web service khng nhm vo ngi dng
m nhm vo ngi xy dng phn mm.
Web service c th dng cung cp cc d liu hay mt chc nng tnh
ton. V d, cng ty du lch ca bn ang s dng mt h thng phn mm ghi
nhn thng tin v khch du lch ng k i cc tour. thc hin vic t phng
khch sn ti a im du lch, cng ty cn bit thng tin v phng trng ti cc khch
sn. Khch sn c th cung cp mt Web service cho bit thng tin v cc phng
trng ti mt thi im. Da vo , phn mm ca bn s bit rng liu c ch
t phng cho khch du lch khng? Nu , phn mm li c th dng mt.
Web service khc cung cp chc nng t phng thu khch sn. im li
ca Web service y l bn khng cn mt ngi lm vic lin lc vi khch sn
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 8
hi thng tin phng, sau , vi cc thng tin v nhiu loi phng ngi s
xc nh loi phng no cn t, s lng t bao nhiu, hay khng ri li lin
lc li vi khch sn t phng. ng qun l khch sn lc ny cng cn c
ngi lm vic vi nhn vin ca bn v cha chc h c th lin lc thnh cng.
Web service c cung cp da vo ASP.NET v s h tr t pha h iu
hnh ca Internet Information Server.
o Window form
B th vin v Window form gm cc lp i tng dnh cho vic xy dng
cc ng dng Windows based. Vic xy dng ng dng loi ny vn c h tr tt
t trc ti nay bi cc cng c v ngn ng lp trnh ca Microsoft. Gi y, ng
dng ch chy trn Windows s c th lm vic vi ng dng Web da vo Web
service. V d v cc lp trong th vin ny l: Form, UserControl,
Phn nhm cc lp i tng theo loi
Mt khi nim khng c th hin trong hnh v trn nhng cn cp n l
Namespace. y l tn gi mt nhm cc lp i tng phc v cho mt mc ch no .
Chng hn, cc lp i tng x l d liu s t trong mt namespace tn l Data.
Cc lp i tng dnh cho vic v hay hin th ch t trong namespace tn l Drawing.
Mt namespace c th l con ca mt namespace ln hn. Namespace ln nht
trong .NET Framework l System.
H thng tn min (Namespace)
Li im ca namespace l phn nhm cc lp i tng, gip ngi dng d
nhn bit v s dng. Ngoi ra, namespace trnh vic cc lp i tng c tn trng
vi nhau khng s dng c. .NET Framework cho php chng ta to ra cc lp i
tng v cc namespace ca ring mnh.
Vi hn 5000 tn c sn, vic t trng tn lp ca mnh vi mt lp i tng
c l iu kh trnh khi. Namespace cho php vic ny xy ra bng cch s dng 1
tn y ni n 1 lp i tng. V d, nu mun dng lp WebControls, chng ta
c th dng tn tt ca n l WebControls hay tn y l:
System.Web.UI.WebControls.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 9
c im ca b th vin cc i tng .NET Framework l s tri rng h
tr tt c cc ngn ng lp trnh .NET nh chng ta thy hnh v trn. iu ny s
gip nhng ngi mi bt u t bn tm hn trong vic la chn ngn ng lp trnh
cho mnh v tt c cc ngn ng u mnh ngang nhau. Cng bng cch s dng cc
lp i tng xy dng ng dng, .NET Framework buc ngi lp trnh phi s
dng k thut lp trnh hng i tng (s c ni ti trong cc chng sau).
II. Web Server
Trong phn ny gii thiu v IIS (phn mm Web Server ca Microsot dnh cho
Windows), ng thi hng dn ci t, cu hnh v kim tra Web Server trn cc h thng s
dng Windows 2000,XP, Vista, Server 2003.
1. Internet Information Services (IIS)
IIS c th c s dng nh 1 Web server, kt hp vi ASP, ASP.NET xy dng
cc ng dng Web tn dng cc im mnh ca Server-side Script, COM component,theo
m hnh Client/Server. IIS c rt nhiu phin bn, u tin c pht hnh ri trong bn
Service pack ca WinNT.
Cc phin bn Windows 2000 c tch hp IIS 5.0.
Windows XP tch hp IIS 5.5
Windows XP .NET Server tch hp IIS 6 h tr cc tnh nng dnh cho .NET ca
ASP.NET v Web Service.
Windows Vista tch hp IIS 7.0
2. Ci t Web Server
a. Ci t Web Server trn Windows 2000/Windows XP Professional
Windows 2000, Xp tch hp sn IIS nhng khng t ng ci t do , bn phi t ci
IIS nu h thng cha ci.
Bc 1. Chn Control Panel | Add/Remove programs.
Bc 2. Add/Remove Windows Components.
Bc 3. nh du vo mc Internet Information Services (IIS).
Bc 4. Chn nt Next ci t.
Sau khi ci t IIS, th mc InetPub t ng c to ra trong C: v cha th
mc con wwwroot. C th truy cp n Website bng cch: http://localhost hoc
http://127.0.0.1
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 10
Ghi ch: kim tra ci t: Khi ng trnh duyt truy cp a ch : http://Localhost
Kt qu thnh cng.
b. Ci t Web Server trn Windows Vista
Bc 1: Chn Start Settings Control Panel
Bc 2: Chn Classic View Chn Programs and features
Bc 3: Chn Turn Windows features on or off
Bc 4: nh du vo mc Internet Information Services (IIS) Chn Ok ci t
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 11
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 12
Kim tra kt qu ci t: Khi ng trnh duyt nhp a ch http://localhost
c. Ci t Web Server trn Windows Server 2003
Ci t Web Server trn Windows Server 2003 cng tng t nh ci t Web Server
trn Windows 2000.
Bc 1. Chn Control Panel | Add/Remove programs.
Bc 2. Add/Remove Windows Components.
Bc 3. nh du vo Application Server.
Bc 4: Chn Next ci t
3. Cu hnh Internet Information Services
cu hnh IIS, vo Control Panel Administrative Tools Internet Services
Manager. Trn cc h iu hnh Windows 2000/XP, Vista Microsoft s dng cng c Microsoft
Management Console (MMC) lm cng c qun l.
a. Cu hnh IIS quy nh trang ch mc nh
Trn Win 2000, XP
o Start Settings Control Panel Administratrive tools M mc Internet
Infomtic Services
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 13
o Click phi mc Default Website Properties Chn trang Documents quy
nh trang ch mc nh
VD: Default.Aspx
Default.asp
Index.asp
Home.html
Index.htm
Cu hnh IIS trn Win Vista
o Start Settings Control Panel Administratrive tools M mc IIS
Manager
o Click phi mc Default Document
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 14
b. Cu hnh quy nh th mc o Virtual Directory:
Mt Web Server c th qun l nhiu ng dng Web ng thi. Ta c th t chc mt
th mc con trong wwwroot cho mi ng dng nhng t hn bn nn to nh x (Virtual
Directory) lin kt n th mc . to mt virtual directory:
Trn Windows 2000, Xp
Click phi: Default WebsiteNew/ Virtual Directory Next
Next Nextt
Khai bo nhn cho th mc o (Myweb) Khai bo th mc vt l (D:\MyWebsite)
Xc lp quyn truy cp Next Finish
Trn Win Vista
Click phi: Default WebsiteAdd Application (hoc Virtual Directory)
Khai bo nhn (Alias) v ch nh th mc vt l lu tr Website(Physical path)
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 15
Chy th ng dng kim tra:
Hoc t ca s IIS Manager: click phi trang cn xem (Default.aspx) Browse
Hoc t trnh duyt nhp: http://Localhost/Maytinh
IV. To ng dng u tin
1. Khi ng MS Visual Studio .Net
Chng ta s bt u bng vic lm quen vi mi trng pht trin ng dng (IDE) ca
Visual Studio.NET 2005.
Start Programs Microsoft Visual Studio 2005 Microsoft Visual Studio 2005
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 16
2. To ng dng web
Bc 1. Chn t thc n File New Website
Chn cc dng ng dng to (ASP.Net Website) V tr lu tr (D:\Wellcom) Ngn
ng lp trnh (C#) Chon Ok
Kt qu:
Ca s Solution Explorer
Trang Default.aspx (Design)
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 17
Trang Default.aspx (Source)
Trang Default.aspx.cs
3. B sung iu khin
Chn trang Default.aspx Chuyn trang sang ch lm vic Design
Nhp mt dng vn bn: Cho mng cc bn n vi ASP.Net
Thm 2 iu khin Label t thanh cng c Toolbox vo trang, t tn ln lt l : lbNgay,
lbThoigian.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 18
Chuyn sang trang code Defaulr.aspx.cs (Double click vo trang ang thit k)
Nhp code cho s kin Page Load:
Lu : Phi lu tp tin vi ty chn Save with Encoding nu c s dng Font Unicode.
4. Thi hnh ng dng
o Kim li trc khi chy: T Menu Build Chn Build Web Site
o Chp nhn bt ch debug cho Website
o Chy chng trnh Bm Ctrl + F5 : chy chng trnh (khng debug) v F5
chy debug.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 19
5. Phn loi tp tin trong ASP.Net
ASP.Net ASP Din gii
.asax .asa Tp tin global.asax trong ASP .Net thay th cho tp tin global.asa ca ASP,
l tp tin qun l cc s kin ca ng dng (application), session, v cc s
kin khi c cc yu cu ti trang web.
.ascx Cc iu khin do ngi dng t to c lu tr vi phn m rng l ascx.
.asmx Tp tin Web Service ca ng dng ASP.Net
.aspx .asp Phn m rng ca trang ASP.Net
.config Tp tin cu hnh ng dng theo nh dng XML. Web.config cha hu ht
cc cu hnh ca ng dng
.cs Tp tin m ngun vit theo ngn ng C#
.js .js Tp tin m ngun ca Jscript
.vb Tp tin m ngun vit theo ngn ng VB.Net
V. Lm quen vi cc thnh phn giao din trn VS .Net
1. Solution Explorer
Hin th ca s Solution Explorer: Thc n View | Solution Explorer
Thao tc vi ca s Solution Explorer : y l ca s qun l cc "ti nguyn" c
trong ng dng. Thng qua ca s ny, chng ta c th:
o Thc hin cc chc nng: sao chp, ct, dn trn tp tin, th mc nh
Windows Explorer.
o T chc th mc qun l ng dng: S dng chc nng Add | New Folder
t thc n ng cnh.
o Thm thnh phn mi cho ng dng: S dng chc nng Add | Add New
Itemt thc n ng cnh. Xut hin hp thoi Add New Item.
Web Form: Thm trang Web
Class: Thm lp i tng
Module Web Form: Thm th vin
Web User Control: Thm iu khin ngi dng

Xc nh trang web khi ng cho ng dng: Chn trang cn khi ng Nhp
chut phi (xut hin thc n ng cnh) Chn Set As Start Page.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 20
Xc nh Project khi ng (trong trng hp Solution c nhiu Project): Chn Set
as StartUp Project t thc n ng cnh.
2. Property Window
Hin th ca s Properties Window: Thc n View | Properties Window.
Thng qua ca s thuc tnh, chng ta c th thit lp thuc tnh cho trang web v cc
i tng c trong trang web.
3. Toolbox
Hin th Toolbox: Thc n View Toolbox
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 21
4. Document Outline Window
Hin th ca s Document Outline: Thc n View / Other Windows / Document Outline.
Ca s ny hin th cc thnh phn ca trang web theo t chc cy rt d qun l v
thao tc vi cc i tng c trong trang Web.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 22
Chng 02:
WEB SERVER CONTROL
iu khin chun Standard
iu khin kim tra d liu Validation
Mt s iu khin khc
i tng ViewState
I. iu khin chun Standard
Nhng l do nn s dng ASP.Net Standard Web Control:
n gin, tng t nh cc iu khin trn Windows Form.
ng nht: Cc iu khin Web server c cc thuc tnh ging nhau d tm hiu
v s dng.
Hiu qu: Cc iu khin Web Server t ng pht sinh ra cc tag HTML theo tng
loi Browser.
Bng lit k cc thuc tnh chung ca cc Web control
Thuc tnh Kiu ngha
(ID) Chui Qui nh tn ca iu khin. Tn ca iu khin l duy nht.
AccessKey String Qui nh k t di chuyn nhanh n iu khin - k t x
l phm nng.
Attributes AttributeCollection Tp hp cc thuc tnh ca iu khin HTML
BackColor Color Qui nh mu nn ca iu khin.
BorderColor Color Qui nh mu ng vin ca iu khin.
BorderStyle BorderStyle Qui nh kiu ng vin ca iu khin.
BorderWidth Unit Qui nh rng ca ng vin.
CssClass String Qui nh hnh thc hin th ca iu khin qua tn CSS.
Enabled Boolean Qui nh iu khin c c hin th hay khng. Gi tr mc
nh ca thuc tnh ny l True c php hin th.
Font FontInfo Qui nh Font hin th cho iu khin
ForeColor Color Qui nh mu ch hin th trn iu khin
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 23
Height Unit Qui nh chiu cao ca iu khin
ToolTip String Dng ch s hin th khi r chut vo iu khin.
Width Unit Qui nh rng ca iu khin.
1. Label
Label thng c s dng hin th v trnh by ni dung trn trang web. Ni dung
c hin th trong label c xc nh thng qua thuc tnh Text. Thuc tnh Text c th nhn
v hin th ni dung vi cc tag HTML.
V d:
lblA.Text = "y l chui vn bn thng";
lblB.Text = "<B>Cn y l chui vn bn c in m</B>";
2. TextBox
TextBox l iu khin c dng nhp v hin th d liu. TextBox thng c s
dng nhiu vi cc ng dng trn windows form.
Cc thuc tnh:
Text: Ni dung cha trong Textbox
TextMode: Qui nh chc nng ca Textbox, c cc gi tr sau:
o SingleLine: Hin th v nhp liu 1 dng vn bn
o MultiLine: Hin th v nhp liu nhiu dng vn bn
o Password: Hin th du * thay cho cc k t c trong Textbox.
Rows: Trong trng hp thuc tnh TextMode = MultiLine, thuc tnh Rows s qui nh
s dng vn bn c hin th.
Maxlength: Qui nh s k t ti a c nhp vo cho TextBox
Wrap: Thuc tnh ny qui nh vic hin th ca vn bn c c php t ng xung
dng khi kch thc ngang ca ca iu khin khng hin th dng ni dung vn
bn. Gi tr mc nh ca thuc tnh ny l True - t ng xung dng.
V d:
3. Image
iu khin ny c dng hin th hnh nh ln trang Web.
Cc thuc tnh:
ImageURL: ng dn n tp tin hnh nh cn hin th.
AlternateText: Chui vn bn s hin th khi tp tin c thit lp trong thuc tnh
ImageURL khng tn ti.
ImageAlign: V tr hin th gia hnh v ni dung vn bn.
o NotSet
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 24
o Left
o Middle
o TextTop
o Right
4. Button, ImageButton, LinkButton
Cc iu khin Button, ImageButton, LinkButton mc nh u l cc nt Submit Button,
mi khi c nhn vo s PostBack v Server.
Khi chng ta thit lp gi tri thuc tnh CommandName cho cc iu khin ny, chng ta
gi tn chung cho cc iu khin ny l Command Button.
Cc thuc tnh chung ca Button, ImageButton, LinkButton
Thuc tnh ngha
Text Chui vn bn hin th trn iu khin.
CommandName Tn lnh. c s dng trong s kin Command.
Ngoi nhng thuc tnh trn, iu khin ImageButton cn c cc thuc tnh ImageURL,
ImageAlign v AlternateText nh iu khin Image.
V d: To Website Tinhtoan gm cc iu khin: Label, Textbox, Button
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 25
X l s kin:
protected void btTinhtien_Click(object sender, EventArgs e)
{
int soluong=int.Parse(txtSoluong.Text );
int dongia=int.Parse(txtDongia.Text );
int Thanhtien=soluong * dongia;
txtThanhtien.Text = Thanhtien.ToString();
}
Khi thi hnh ng dng
5. HyperLink
iu khin ny c s dng to ra cc lin kt siu vn bn.
Cc thuc tnh:
ImageURL: Qui nh hnh hin th trn iu khin.
Text: Chui vn bn s c hin th trn iu khin. Trong trng hp c 2 thuc
tnh ImageURL v Text c thit lp, thuc tnh ImageURL c u tin, thuc tnh
Text s c hin th nh Tooltip.
NavigateUrl: ng dn cn lin kt n.
Target: Xc nh ca s s hin th cho mi lin kt
o _blank: Hin th trang lin kt mt ca s mi.
o _self: Hin th trang lin kt ti chnh ca s cha lin kt .
o _parent: Hin th trang lin kt frame cha.
V d:
hplASPNet.Text = "Trang ch ASP.Net";
hplASPNet.ImageUrl = "~/Pictures/logoaspnet.jpg";
hplASPNet.NavigateUrl ="http://www.asp.net";
hplASPNet.Target = "_blank";
Kt qu hin tr trn trang Web:
V d: To Website Lienket gm 3 iu khin Hyperlink
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 26
6. Listbox v DropdownList
ListBox v DropdownList l iu khin hin th danh sch la chn m ngi dng c
th chn mt hoc nhiu (ch dnh cho ListBox). Cc mc la chn c th c thm vo danh
sch thng qua lnh hoc ca s thuc tnh (Property Windows).
Cc thuc tnh:
AutoPostBack: Thuc tnh ny qui nh iu khin c c php t ng PostBack v
Server khi ch s ca mc chn b thay i. Gi tr mc nh ca thuc tnh ny l False -
khng t ng Postback.
Items : y l tp hp cha cc mc chn ca iu khin. Ta c th thm vo mc chn
vo thi im thit k thng qua ca s ListItem Collection Editor, hoc thng qua lnh.
Rows: Qui nh chiu cao ca ListBox theo s dng hin th.
SelectionMode: Thuc tnh ny xc nh cch thc chn cc mc trong ListBox.
SelectionMode ch c php thay i trong qu trnh thit k, vo lc thc thi chng
trnh, thuc tnh ny ch c.
o Single: Ch c chn mt mc c trong danh sch (mc nh).
o Multiple: Cho php chn nhiu la chn.
Tm hiu v tp hp Items
Add: Thm mc mi vo cui danh sch, s dng phng thc Items.Add
Items.Add(<String>);
Insert: Thm mc mi vo danh sch ti mt v tr no , s dng phng thc
Items.Insert
Items.Insert(<index>,<String>);
Count: Tr v s mc (Item) c trong danh sch.
Items.Count;
Remove: Xa i tng Item ti ra khi danh sch.
Items.Remove(<Chuoi>);
Trong trng hp cc i tng Item l kiu chui, ta truyn vo mt chui
xa. Nu c nhiu gi tr ging nhau trong danh sch, ch c mc chn u tin b xa.
RemoveAt: Xa mt item ti v tr index ra khi danh sch.
Items.RemoveAt(<index>);
o Clear: Phng thc Clear ca tp hp Items c dng xa tt c nhng Item c
trong danh sch. C php
Items.Clear();
X l mc chn
Cc thuc tnh sau s gip bn xc nh ch s, gi tr ca mc ang c chn. Trong
trng hp iu khin cho php chn nhiu, ta duyt qua cc Item trong tp hp Items,
o S dng thuc tnh Selected ca i tng Items[i] kim tra xem mc th i
c c chn hay khng.
SelectedIndex: Cho bit ch s ca mc c chn. Trong trng hp chn nhiu
mc, SelectedIndex s tr v ch s mc chn u tin.
SelectedItem: Cho bit mc c chn. Trong trng hp chn nhiu mc,
SelectedItem s tr v mc chn u tin.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 27
SelectedValue: Cho bit gi tr ca mc c chn. Trong trng hp chn nhiu
mc, SelectedValue s tr v gi tr mc chn u tin.
V d: To Website Dulich gm 1 listbox, 2 label , 1 Button trong iu khin Listbox l iu
khin danh sch lstKhu_dl: SelectionMode=Multiple ; Rows=4
Khi thit k:
X l s kin:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
lstDiadanh.Items.Add("Vnh H Long");
lstDiadanh.Items.Add("Phan Thit - Mi N");
lstDiadanh.Items.Add("Nha Trang");
lstDiadanh.Items.Add(" Lt");
lstDiadanh.Items.Add("Ph Quc");
lstDiadanh.Items.Add("Hu - Hi An");
int n = lstDiadanh.Items.Count;
lbSoDD.Text = n.ToString();
}
}
protected void btChon_Click(object sender, EventArgs e)
{
lbDiadanh.Text = "";
for (int i = 0; i <= lstDiadanh.Items.Count - 1; i ++)
{
if (lstDiadanh.Items[i].Selected)
lbDiadanh.Text += "<li>" + lstDiadanh.Items[i].Value;
}
/* Hoc
foreach (ListItem item in lstDiadanh.Items )
{
if (item.Selected)
lbDiadanh.Text += "<li>" + item.Value ;
} */
}
Khi thi hnh:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 28
7. Checkbox, RadioButton
Cc thuc tnh
Checked: Cho bit trng thi ca mc chn - c c chn hay khng
TextAlign: Qui nh v tr hin th ca iu khin so vi chui vn bn.
AutoPostBack: Thuc tnh ny qui nh iu khin c c php t ng PostBack v
Server khi cc mc chn ca iu khin b thay i. Gi tr mc nh ca thuc tnh ny
l False - khng t ng Postback.
GroupName (RadioButton): Tn nhm. Thuc tnh ny c s dng nhm cc iu
khin RadioButton li thnh 1 nhm.
V d: Nhm cc RadioButton Gii tnh, Thu nhp, Nhm Checkbox Ngoi ng
Danh sch cc iu khin
8. CheckBoxList, RadioButtonList
Hai iu khin ny c dng to ra mt nhm cc CheckBox/Radio Button. Do y
l iu khin danh sch nn n cng c thuc tnh Items cha tp hp cc mc chn nh
ListBox/DropDownList. Cc thao tc trn tp hp Items, x l mc chn cng tng t nh
ListBox/DropDownList.
To mi: Ko th RadioButtonList (Hoc CheckbocList) vo Form
Chn Edit Items
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 29
b. Cc thuc tnh
RepeatColumns: Qui nh s ct hin th.
RepeatDirection: Qui nh hnh thc hin th
o Vertical: Theo chiu dc
o Horizontal: Theo chiu ngang
AutoPostBack: Thuc tnh ny qui nh iu khin c c php t ng PostBack v
Server khi cc mc chn ca iu khin b thay i. Gi tr mc nh ca thuc tnh ny
l False - khng t ng Postback.
c. V d
X l s kin:
Private Sub rblThu_nhap_SelectedIndexChanged()
lblThu_nhap.Text = "Bn chn thu nhp: " + rblThu_nhap.SelectedItem.Text;
End Sub
Khi thi hnh:
V d: B sung thm vo Website Dulich 1 trang Thongtincanhan gm: 1 Textbox, 2
RadioButton gii tnh, 2 Checkbox ngai ng, 3 radioButton thu nhp listbox, 2 label , 1
RadioButtonList Trnh , 1 Button ng k.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 30
X l s kin:
protected void Button1_Click(object sender, EventArgs e)
{
string ten="",gt="", ngoaingu="", thunhap="", trinhdo="";
ten = txtTen.Text;
if (rdtNu.Checked == true)
gt = "N";
else
gt = "Nam";
if (chkAnh_van.Checked == true)
ngoaingu = " Ting anh ";
if (ChkPhap_van.Checked == true)
ngoaingu = ngoaingu + " Ting php ";
if (rdtThu_nhapA.Checked == true)
thunhap = " 1 triu ";
else if (rdtThu_nhapB.Checked == true)
thunhap = " t 1 n 3 triu";
else
thunhap = " trn 3 triu ";
trinhdo = rdblistTrinhdo.SelectedItem.Value;
lbThongtin.Text = "THNG TIN V BN <li> Tn: " + ten
+ "<li> Gii tnh:" + gt + " <li> Ngoi ng :"
+ ngoaingu + "<li> Mc thu nhp:" + thunhap
+ "<li> Trnh :" + trinhdo ;
}
Khi thi hnh:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 31
II. iu khin kim tra d liu
Trong phn ny chng ta s tm hiu v cc iu khin c dng kim tra d liu.
Nh cc bn bit, mi khi PostBack v Server, trang Web lun kim tra tnh hp l
d liu (nu c yu cu khi thit k). Nu d liu khng hp l (b trng, vi phm min gi tr,
mt khu nhp li khng ng, ), trang web s khng th PostBack v Server.
i
u V d: Minh ha thuc tnh Display: Ti nhp li mt khu, ta c 2 iu khin kim tra d
liu: mt iu khin kim tra khng c php rng (rfvNhap_lai), mt iu khin kim tra xem
nhp li mt khu c ging vi mt khu nhp trn hay khng.
rfvNhap_lai.Display = Static
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 32
rfvNhap_lai.Display = Dynamic
1. iu khin Required Field Validator
iu khin ny c dng kim tra gi tr trong iu khin phi c nhp.
S dng iu khin ny kim tra rng buc d liu khc rng (bt buc nhp).
Thuc tnh
InitialValue: Gi tr khi ng. Gi tr bn nhp vo phi khc vi gi tr ca thuc tnh
ny. Gi tr mc nh ca thuc tnh ny l chui rng.
2. iu khin Compare Validator
iu khin ny c dng so snh gi tr ca mt iu khin vi gi tr ca mt iu
khin khc hoc mt gi tr c xc nh trc.
Thng qua thuc tnh Operator, chng ta c th thc hin cc php so snh nh: =, <>,
>, >=, <, <= hoc dng kim tra kiu d liu (DataTypeCheck).
S dng iu khin ny kim tra rng buc min gi tr, kiu d liu, lin thuc tnh.
Lu : Trong trng hp khng nhp d liu, iu khin s khng thc hin kim tra vi phm.
Cc thuc tnh
ControlToCompare: Tn iu khin cn so snh gi tr. Nu bn chn gi tr ca thuc
tnh Operator = DataTypeCheck th khng cn phi xc nh gi tr cho thuc tnh ny.
Operator: Qui nh php so snh, kim tra kiu d liu
o Equal: = (y l gi tr mc nh)
o GreaterThan: >
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 33
o GreaterThanEqual: >=
o LessThan: <
o LessThanEqual: <=
o NotEqual: <>
o DataTypeCheck: Kim tra kiu d liu
Type: Qui nh kiu d liu kim tra hoc so snh.
o String
o Integer
o Double
o Date
o Currency
ValueToCompare: Gi tr cn so snh. Trong trng hp bn xc nh gi tr ca c 2
thuc tnh ControlToCompare v ValueToCompare th gi tr ca iu khin c qui
nh bi thuc tnh ControlToCompare c u tin dng kim tra.
3. iu khin Range Validator
iu khin ny c dng kim tra gi tr trong iu khin phi nm trong on [min-
max] S dng iu khin ny kim tra rng buc min gi tr ca d liu.
Lu : Trong trng hp khng nhp d liu, iu khin s khng thc hin kim tra vi phm.
Cc thuc tnh
MinimumValue: Gi tr nh nht.
MaximumValue: Gi tr ln nht.
Type: Xc nh kiu kim tra d liu. C th thc hin kim tra trn cc kiu d liu
sau:
o String
o Integer
o Double
o Date
o Currency
4. iu khin Regular Expression Validator
iu khin ny c dng kim tra gi tr ca iu khin phi theo mu c qui
nh trc: a ch email, s in thoi, m vng, s chng minh th,
Lu : Trong trng hp khng nhp d liu, iu khin s khng thc hin kim tra vi phm.
Thuc tnh:
ValidationExpression: Qui nh mu kim tra d liu.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 34
Bng m t cc k hiu thng s dng trong Validation Expression
5. iu khin Custom Validator
iu khin ny cho php bn t vit hm x l kim tra li.
S kin
ServerValidate: t cc x l kim tra d liu trong s kin ny. Vic kim tra ny c
thc hin Server.
V d: X l kim tra d liu nhp ti iu khin txtSoA c phi l s chn hay khng.
6. iu khin Validation Summary
iu khin ny c dng hin th ra bng li - tt c cc li hin c trn trang Web.
Nu iu khin no c d liu khng hp l, chui thng bo li - gi tr thuc tnh
ErrorMessage ca Validation Control s c hin th. Nu gi tr ca thuc tnh ErrorMessage
khng c xc nh, thng bo li s khng c xut hin trong bng li.
Cc thuc tnh
HeaderText: Dng tiu ca thng bo li
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 35
ShowMessageBox: Qui nh bng thng bo li c c php hin th nh ca s
MessageBox hay khng. Gi tr mc nh ca thuc tnh ny l False - khng hin th.
ShowSummary: Qui nh bng thng bo li c c php hin th hay khng. Gi tr
mc nh ca thuc tnh ny l True - c php hin th.
V d: To Website Dangkythanhvien S dng cc iu khin ValidateControl.
Trong v d di y, chng ta thc hin kim tra d liu nhp trn cc iu khin c
trong h s ng k khch hng.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 36
Thuc tnh Text ca cc iu khin kim tra d liu u l: (*)
X l s kin:
Private Sub butDang_ky_Click()
lblThong_bao.Text = "ng k thnh cng";
End Sub
Cc thng bo li xut hin trn mn hnh nhp liu khi d liu nhp khng hp l.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 37
Cc thng bo li xut hin qua hp thoi khi d liu nhp khng hp l:
Nu tt c u hp l
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 38
III. Mt s iu khin khc
1. iu khin Literal
Tng t nh iu khin Label, iu khin Literal cng c s dng hin th chui
vn bn trn trang Web.
Nu mun hin th mt chui vn bn trn trang Web, chng ta c th nh ni dung
trc tip vo trang Web m khng cn phi s dng iu khin. Ch s dng cc iu khin
nh Label, Literal hin th khi cn thay i ni dung hin th pha server.
im khc bit chnh gia Label v Literal l khi hin th ni dung ln trang web (lc thi
hnh), iu khin Literal khng to thm mt tag Html no c, cn Label s to ra mt tag span
(c s dng lp trnh pha client).
V d:
Khi thit k.
Khi thi hnh
Lnh x l:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text="<b>y l chui k t trong label</b>";
Literal1.Text = "<i> y l chui k t trong Literial</i>";
}
Chn chc nng t thc n View | Source trn Browser:
<span id="Label1" style="display:inline-block;width:417px;"><b>y l chui k t trong
label</b></span><br />
<i> y l chui k t trong Literial</i>
2. iu khin AdRotator
iu khin AdRotator c dng to ra cc banner qung co cho trang web, n t
ng thay i cc hnh nh ( c thit lp trc) mi khi c yu cu, PostBack v server.
a. Thuc tnh
AdvertisementFile: Tn tp tin d liu (di dng xml) cho iu khin. Di y l c
php ca tp tin Advertisement (*.xml)
<Advertisements>
<Ad>
<ImageUrl>ng dn n tp tin hnh nh</ImageUrl>
<NavigateUrl>ng dn n lin kt</NavigateUrl>
<AlternateText>Chui vn bn c hin th nh Tooltip</AlternateText>
<Keyword>T kha dng lc hnh nh</Keyword>
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 39
<Impressions>Tn sut hin th ca hnh nh</Impressions>
</Ad>
</Advertisements>
Lu : Phi nhp ng cc gi tr trong tag nh mu trn. Cc gi tr trong tag c phn bit ch
Hoa ch thng. Trong
ImageUrl: ng dn n mt tp tin hnh nh
NavigateUrl: ng dn n trang web s c lin kt n khi ngi dng nhn vo
hnh nh ang hin th.
AlternateText: Gi tr ny s c hin th nu nh ng dn n tp tin hnh nh
(qua thuc tnh NavigateUrl) khng tn ti. i vi mt s trnh duyt, tham s ny c
hin th nh ToolTip ca hnh qung co.
Keyword: c dng phn loi cc qung co. Thng qua gi tr ny, ta c th lc
cc qung co theo mt iu kin no .
Impressions: Tham s ny quyt nh tng sut hin th ca hnh nh. Gi tr ny cng
ln, kh nng hin th cng nhiu.
KeywordFilter: c dng chn lc v hin th nhng hnh qung co c gi tr ca
tham s Keyword = gi tr ca tham s ny.
Gi tr ca tham s ny mc nh khng c thit lp Hin th tt c nhng hnh c
trong tp tin XML. Trong trng hp nu khng c hnh no c gi tr Keyword bng gi tr
ca thuc tnh ny, s khng c hnh no c hin th.
Target: Qui nh ca s hin th trang lin kt
_blank: Trang lin kt s c m mt ca s mi.
_self: Trang lin kt s c m chnh ca s cha iu khin.
_parent: Trang lin kt s c m ca s cha.
b. S kin
AdCreated: Xy ra khi iu khin to ra cc qung co.
V d: To Website Quangcao (To Qung co s dng iu khin AdRotator)
Bc 1. Thit k giao din
Bc 2. To tp tin d liu: Quangcao.xml
o S dng chc nng Add New Item t thc n ng cnh
o Chn XML File trong hp thoi Add New Item
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 40
o Nhp vo c php qui nh cho tp tin Quangcao.xml (theo c php ca tp tin
Advertisement)
<?xml version="1.0" encoding="utf-8" ?>
<Advertisements>
<Ad>
<ImageUrl>Pictures\Baihatviet.gif</ImageUrl>

<NavigateUrl>http://www.Baihatviet.net</NavigateUrl>
<AlternateText>Web Nhc bi ht
vit</AlternateText>
<Keyword>Music</Keyword>
<Impressions>10</Impressions>
</Ad>
<Advertisements>
o Chuyn mn hnh qua trang Data, nhp liu trc tip trn mn hnh ny
Click phi mn hnh ang code chn View Data Grid
Nhp thm cc lin kt qung co sau:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 41
Bc 3. Thit lp thuc tnh cho iu khin adQuangcao
o AdvertisementFile: Quangcao.xml
o Target: _blank (Khi nhn vo s hin th lin kt ca s mi.)
o KeywordFilter: Khng thit lp (Hin th tt c cc hnh nh)
Bc 4. Thi hnh ng dng
3. iu khin Calendar
Mt iu chc chn rng iu khin Calendar qu quen thuc vi cc bn lp trnh
ng dng trn windows, n c giao din trc quan, v vy, ngi dng c th chn ngy d
dng.
a. Thuc tnh
DayHeaderStyle: Qui nh hnh thc hin th tiu ca cc ngy trong tun
DayStyle: Qui nh hnh thc hin th ca cc ngy trong iu khin.
NextPrevStyle: Qui nh hnh thc hin th ca thng trc/sau ca thng ang c
chn.
SeleltedDayStyle: Qui nh hnh thc hin th ca ngy ang c chn.
SeleltedDate: Gi tr ngy c chn trn iu khin
TitleStyle: Qui nh hnh thc hin th dng tiu ca thng c chn
TodayDayStyle: Qui nh hnh thc hin th ca ngy hin hnh (trn server).
WeekendDayStyle: Qui nh hnh thc hin th ca cc ngy cui tun (th 7, ch nht)
OtherMonthDayStyle: Qui nh hnh thc hin th ca cc ngy khng nm trong thng
hin hnh.
b. S kin
SelectionChanged: S kin ny xy ra khi bn chn mt ngy khc vi gi tr ngy ang
c chn hin hnh
VisibleMonthChanged: X kin ny xy ra khi bn chn thng khc vi thng hin hnh
V d: To trang Calendard
Bc 1: To Calendard vo trang
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 42
Bc 2: Chn Auto Format (Chn mu nh dng)

Khi thit k
X l s kin:
protected void Page_Load(object sender, EventArgs e) {
lbNgay.Text = "Hm nay ngy " + DateTime.Today.ToString ("dd/MM/yyyy");
}
protected void Calendar1_SelectionChanged1(object sender, EventArgs e) {
lbThongbao.Text ="Bn ang chn " + Calendar1.SelectedDate.ToString("dd/MM/yyyy");
}
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 43
Khi thi hnh
4. iu khin File Upload.
iu khin FileUpload cho php ngi s dng Upload file t chnh ng dng Web ca
mnh. File sau khi Upload c th lu tr 1 ni no c th l trn cng hay trong
Database. iu khin FileUpload h tr cc thuc tnh sau:
Thuc tnh ngha
Enable Cho php bn v hiu ho iu khin FileUpload.
FileBytes Cho php ly ni dung file c upload nh mt mng Byte.
FileContent Cho php ly ni dung ca file c upload theo dng d liu
FileName Ly tn file c Upload
HasFile Tr v gi tr ng khi File c Upload
iu khin FileUpload h tr cc phng thc
o Focus: Enables you to shift the form focus to the FileUpload control.
o SaveAs: Cho php bn lu file c upload ln h thng.
Thuc tnh PostedFile ca iu khin FileUpload cho php ly thng tin t File upload
c bao bc trong i tng HttpPostedFile. i tng ny s a thm thng tin v Upload
file.
Lp HttpPostedFile gm cc thuc tnh sau:
o ContentLength: Ly v kch thc ca File Upload tnh theo byte
o ContentType: Ly kiu MIME ca File Upload
o FileName: Cho php ly tn ca file c upload.
o InputStream: Enables you to retrieve the uploaded file as a stream.
Lp HttpPostedFile ch h tr phng thc
o SaveAs: Cho php bn lu file c upload ln h thng.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 44
V d: Trong v d sau, chng ta s thc hin Upload tp tin ln server, c th hn, tp tin va
Upload s c lu trong th mc Upload.
Mn hnh ch thit k
X l s kin:
protected void Button1_Click(object sender, EventArgs e) {
string sTenfile ;
//Tch ly tn tp tin
sTenfile = FileUpload1.FileName;
//Thc hin chp tp tin ln th mc Upload
FileUpload1.SaveAs(MapPath("~/Upload/" + sTenfile));
lbThongbao.Text = " upload thnh cng" ;
}
Khi thi hnh:
Nu thnh cng
5. iu khin Panel v PlaceHolder
Hai iu khin Panel v PlaceHolder c s dng cha cc iu khin khc. Thuc
tnh thng dng ca 2 iu khin ny l Visible. Nu gi tr ca thuc tnh ny = True, cc
iu khin cha bn trong s c hin th, ngc li (Visible = False), khng c iu khin
no cha bn trong c hin th.
Tuy nhin, iu khin Panel cho php chng ta ko nhng iu khin vo bn trong n
lc thit k, cn iu khin PlaceHolder th khng.
Cc thuc tnh:
DefaultButton: Cho php bn nh ngha mt button mc nh trong panel m
button mc nh ny s c thc hin khi bn nhn phm Enter.
Direction: Cho php bn gn hoc thit t hng hin th ni dung c a ra
trong panel, c th l cc gi tr:NotSet, LeftToRight, and RightToLeft.
GroupingText: Cho php bn trnh by Panel nh 1 Fieldset vi mt ch gii ring
bit.
HorizontalAlign: Cho php bn ch ra hng ngang th hin ni dung ca panel
v n c th l cc gi tr: Center, Justify, Left, NotSet, and Right.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 45
ScrollBars: Cho php bn hin th scrollbars khi bn c nh chiu cao hoc chiu
rng ca panel v ni dung trong panel vt qu rng hoc cao , n c
th l cc gi tr: Auto, Both, Horizontal, None, and Vertical.
V d: Tao trang s dng Panel gm: 1 panelpage cha 1 panelsothich va 1 panel nghenghiep,
trong panel sothich c vi checkbox, trong panel ngh nghp hin th 100 ngh (Ngh 1, Ngh
2, . . .) c in vo khi trang c load.
Thm vo panelpage 2 check box: chkSothich v chkNghenghiep. Khi trang hin th
ngi dng nh check hoc b check vo checkbox no th panel tng ng s hin hoc n.
Thit k:
X l s kin:
protected void Page_Load(object sender, EventArgs e)
{
for (int i = 1; i < 100; i++)
{
buletnghenghiep.Items.Add("Ngh "+i.ToString());
}
}
protected void chkhtsothich_CheckedChanged(. . . .)
{
if (chksothich.Checked == true)
panelsothich.Visible = true;
else
panelsothich.Visible = false;
}
protected void chkhtnghenghiep_CheckedChanged(. . . )
{
if (chknghenghiep.Checked == true)
panelnghenghiep.Visible = true;
else
panelnghenghiep.Visible = false;
}
Thi hnh:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 46
6. iu khin hin th cc trang MultiView
iu khin MultiView cho php bn n hoc hin cc phn khc nhau ca trang Web,
iu khin ny tin ch khi bn to mt TabPage. N thc s tin ch khi bn mun chia 1 trang
web c di ln thnh cc phn hin th.
iu khin MultiView cha ng 1 hoc nhiu iu khin View, bn s dng Multiview
la chn cc iu khin View trnh by.
iu khin MultiView h tr cc thuc tnh.
ActiveViewIndex: La chn iu khin View c a ra hin th bng ch s
Index
Views: Cho php bn ly v tp hp cc iu khin View cha ng trong iu
khin MultiView.
iu khin MultiView h tr hai phng thc.
GetActiveView: Cho php ly v thng tin ca iu khin View c la chn.
SetActiveView: cho php bn thit lp iu khin View c hin th.
V MultiView h tr s kin sau:
ActiveViewChanged: Xy ra khi iu khin View c la chn
V d: To 1 website MultiView: S dng MultiView kt hp vi iu khin Menu to mt
TabPage
Thit k
Trn trang thit k to: 1 Multiview1 bn trong gm 3 View (View1 View2, View3)
To Control Menu1 t nhm Control Navigation : Gm 3 Tab (Tab1, Tab2, Tab3)
o To Control Menu vo Form
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 47
o Chn Edit Menu Item
Ln lt khi bo cc nhn (Text) l: Tab 1, Tab 2, Tab 3 v cc gi tr
(Value) tng ng l: 0 , 1, 2
Thuc tnh Orientation: Horizaltal (Menu hng ngang)
o B sung ni dung vo cc view tng ng
X l s kin
<script runat="server">
void Menu1_MenuItemClick(object sender, MenuEventArgs e){
int index = int.Parse(e.Item.Value);
MultiView1.ActiveViewIndex = index;
}
void Page_Load(object sender, EventArgs e){
if (!IsPostBack){
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 48
MultiView1.ActiveViewIndex = 0;
}
}
</script>
Thi hnh:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 49
III. i Tng View State
i tng ViewState c cung cp lu li nhng thng tin ca trang web sau khi
web server gi kt qu v cho Client. Mc nh, cc trang web khi c to s cho php s
dng i tng ViewState thng qua thuc tnh EnableViewState (ca trang web) = True.
Gn gi tr cho ViewState:
ViewState("Tn trng thi") = <gi tr>;
Nhn gi tr t i tng ViewState:
<bin> = ViewState("Tn trng thi");
V d:
X l s kin:
protected void btDem_Click(object sender, EventArgs e)
{
lbThongbao.Text =
Convert.ToString(int.Parse(lbThongbao.Text)+1);
}
V bn cht, cc gi tr trong i tng ViewState c lu trong mt iu khin hidden
v cc gi tr ny c m ha. i tng ViewState gip chng ta gim bt cng sc
trong vic lu tr v truy xut cc thng tin m khng phi s dng nhiu iu khin hidden.
Chn chc nng View | Source t browser
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 50
IV. Thit k Website vi MasterPage
MasterPage l cch thit k layout chung cho website. V d website ca bn c layout
gm 5 phn banner, footer, left, right V content(phn cha ni dung hin th cho cc tin). Ta
thy rng trn trang web c cc phn c cch trnh by khng thay i trong qu trnh duyt tin.
banner, footer, left, right: bn c th cc phn ny vo mt MasterPage v tt cc trang web
trong website ca bn s p dng layout ny thng qua contentpage
To MasterPage
To MasterPage ging vi to cc trang aspx bnh thng nhng trn hp Add New
Item bn chn MasterPage bn thy di t tn phn m rng ca n s l Master. Bn c
th to nhiu MasterPage cho ng dng web ca mnh.
Xa Place Holder hin c v dng table thit k layout nh sau:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 51
To phn banner (Phn trn)
To phn Menu (Ct tri)
To phn qung co (Ct phi)
To phn footer (Phn di)
To phn ni dung (Gia): t ContetPalceHolder
S dng trang Masterpage thit k cc trang
To mi trang web Default.aspx v trang Tintuc.aspx
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 52
iu chnh MasterPage
Khi c bt k s iu chnh no trn trang Masterpage th cc trang c to t trang
Masterpage s t cp nht.
V d: B sung vo phn tri ca trang Masterpage 2 nhn lin kt (Hyperlink) m 2
trang tng ng to (Default.aspx v Tintuc.aspx)
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 53
Kt qu khi thi hnh
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 54
Chng 3
KT NI C S D LIU TRONG ASP.NET
S dng cc thnh phn kt ni CSDL nh : SQLDataSource, Access Data
Source, XML Data Source, . . .
Cch truyn tham s vo cc iu khin
I. SQL DATA SOURCE
1. Gii thiu
iu khin SqlDataSource dung kt ni CSDL nu d liu ca ng dng c lu
tr trong cc h qun tr CSDL nh: SQLServer, Ocracle Server, . . .
Chn i tng CSDL nh Table, View hay cu lnh truy vn SQL v c th khai bo
iu kin lc d liu (Where) vi nhiu cch nh: gi tr nh sn, i tng Session,
Request.form, Request.QueryString . . .
2. Kt ni v trnh by CSDL
a. To kt ni
To trang aspx v ko iu khin SQLDataSource t ngn data trn thanh Tollbox
Chn tip vo Conigure Data Source
Nu trc c to kt ni CSDL th chn vo Combobox chn CSDL kt ni.
to mi kt ni CSDL th chn New Connection
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 55

To kt ni CSDL mi
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 56
Khai bo cc thng s cho SQLServer v chn CSDL cn kt ni
Chn Next
Chn Next
Xc nh ngun d liu t Table, Quyery hay cu lnh truy vn c th ch
nh iu kin lc d liu v sp xp.
Ch nh cc ct d liu
Kim tra kt qu kt ni
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 57
Khai bo iu kin mnh Where (Nu c)
Khai bo sp xp (Nu cn)
Chn Test Query kim tra kt qu ngun d liu. Chn Finish
han thnh
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 58
Phn m ca giao tip ny c c nh sau:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ConnectionStrings:QLBansachConnectionString
%>"
SelectCommand="SELECT [MaTG], [TenTG], [DiachiTG], [DienthoaiTG]
FROM [TACGIA] ORDER BY [TenTG]">
</asp:SqlDataSource>
b. Trnh by d liu ln trang
trnh by d liu trn Webform sau khi thc hin kt ni CSDL ta s s dng trnh
iu khin li Gridview.
To Gridview vo trang t ngn Data trn Thanh Toolbox
Chn Choose DataSource l: SqldataSource1 to
Ghi ch:
Chn mu nh dng li: Auto Format
to phn trang d liu: nh du chn : Enable Paging
cho php sp xp khi click vo tiu ct nh du chn: Enable
Sorting
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 59
Thi hnh tarng DSTacgia.aspx:
Click tiu li kim tra tnh sp xp
Click s th t trang (Cui li) kim tra tnh phn trang
3. iu khin SQL Data Source v tham s.
a. iu khin SQL DataSource v Request.QueryString
lc d liu trong ngun d liu theo iu kin th gi tr tham s c th c gn trc
tip thng qua i tng Request.Querystring (Truyn tham s qua lin kt trang.)
To trang cho php truyn tham s qua lin kt.
Khi click vo lin kt trang lin kt c a ch km theo tham s dng nh sau:
http://localhost:49222/KetnoiCSDL/SachNXB.aspx?MaNXB=3
Thc hin:
o To trang NhaXB.aspx vi ngun d liu l tan b danh mc nh xt bn c
trnh by trn li GridView nh sau
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 60
o iu chnh b sung v li 1 ct lin kt
Chn Edit Column t GiridView Task
Thc hin b sung 1 ct dng HyperLinkField
Vi cc thuc tnh:
HeaderText: Nhn tiu ct
Text: Nhn hin th trong ct (Ging nhau trn tt c cc ) Hoc
DatTextField: Dng gi tr t 1 field ch nh trong ngun d liu
DataNavigateUrlFields: Danh mc tn cc tham s ghi cch nhau bi du ,
DataNavigateUrlFormatting: a ch trang lin kt km tham s dng
~/SachNXB.aspx?MaNXB={0}
Trong gi tr tham s ghi di dng ch s cc tham s c khai bo
trong thuc tnh DataNavigateUrlFields bt u l 0 v cch nhau l du ,
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 61
Thi hnh:
To trang hin th d liu vi ngun d liu c tham s qua lin kt
(Request.QueryString).
Ch nh ngun d liu
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 62
Khai bo iu kin (Where) vi tham s l QueryString. t tn QueryStringField l:
MaNXB Add
Thi hnh :
Trang NhaXB.aspx
Click vo lin kt Xem sch ca 1 nh xut bn (VD: Vi MaNXB l 2)
Cc sch ca Nh xut bn tng ng s c trnh by
b. iu khin SQL DataSource v Request.Form
lc d liu trong ngun d liu theo iu kin th gi tr tham s l gi tr trn form.
To trang Lietkesach.aspx gm:
o 1 Control Textbox ch nh thuc tnh ID: MaNXB
o 1 Button ch nh thuc tnh PostbackURL: ~/Lietkesach.aspx (Chnh trang thit
k)
o To SqlDataSource vi ngun d liu nh sau:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 63
o iu kin cho ngun d liu
Vi gi tr iu kin Form field l: MaNXB (tn Textbx trn trang)
Thc thi:Nhp MANXB vo textbox Click nt Xem
c. iu khin SQL DataSource v iu khin trnh ch
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 64
Ta c th khai bo tham s trong iu khin SqlDataSource m gi tr c ly t iu
khin trnh ch
V d thit k trang Chudesach.aspx thc hin lit k danh mc sch c ch c
chn t iu khin trnh ch DropdownList.
Thit k Dropdownlist (ddlChude) vi ngun d liu cho t Table Chude
o To SQL DataSource (SqlDataSource1) cho DropDownList Vi ngun d liu cho
DropDownList l Table Chude:
o To DropDownList vo trang t thuc tnh
ID: ddlChude
DataSourceID: SqlDataSource1
DataTextField: TenCD (Field hin th)
AutoPostBack: True
DataValuefield: MaCD (Field gi tr truyn tham s)
To GridView (GridView1) Vi ngun d liu t Table Sach
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 65
V tham s iu kin (Where)
o Thi hnh: Chn 1 ch sch t DropdownList th cc sch tng ng ca ch
s hin th.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 66
d. iu khin SQL DataSource v th tc ni ti
Tng t nh trng hp kt ni CSDL bng pht biu SQL ta c th s dng iu
khin kt ni CSDL SqlDatasource truy cp CSDL SQL Server bng th tc ni ti (Stored
Procedure)
V d trong CSDL SQLServer QLBanSach ta to 1 th tc (Stored Procedure)
Sachtheogia cho php lit k cc quyn sch vi 2 tham s cho Procedure l Giatu v Giaden.
Use QLBansach
Create Proc Sachtheogia
@Giatu int, @Giaden Int
as
Select Masach, Tensach, Dongia, Mota, Tenchude, TenNXB,Ngaycapnhat
From sach s, Chude c, nhaxuatban n
Where c.MaCD=s.MaCD and n.MaNXB=s.MaNXB and Dongia Between @Giatu and
@Giaden
Lu : Trong th tc c khai bo 2 tham s tn @Giatu v @Giaden
Khi cu hnh Data Source cho iu khin SqlDataSource
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 67
Ta chn : Specify a Custom SQL satament or stored procedure
Tip tc chn Stored Procedure cn kt ni.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 68
Xc nh gi tr cho tham s ca Procedure c th l: Gi tr trc tip, QueryString, Form,
hay iu khin trnh ch (V d s dng iu khin trnh ch DropDownlist1,
DropDownList2 tng ng 2 tham s Giatu v Giaden)
Thi hnh:
Hy Click chn Gi t DropDownList1 v Gi n DropDownList2th cc sch tha iu
kin gi s hin th tng ng vo GridView
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 69
II. KT NI C S D LIU VI ACCESS, XML
1. iu khin Access Data Source
Tng t nh iu khin kt ni c s d liu SQLDataSource dng kt ni vi c
s d liu SQLserver iu khin kt ni c s d liu AccessDataSource dng kt ni
vi c s d liu Access MDB).
Nh vy khi c nhu cu kt ni vi CSDL Acces ta dng iu khin AccessDataSource
t ngn Data trn thanh Toolbox.
V d thit k trang DanhsachKH.aspx truy xut v hin th Danh sch khch hang t
Table khachhang ca CSDL QLBansach.mdb (Access)
To AccessDataSource vo trang
Chn Configure Data Source . . .: thc hin kt ni
Chn Nt Browse tm v chn CSDL Access : QLBansach (Thng thng c t
chc lu tr trong th mc App_Data ca ng dng)
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 70
Chn Ok v chn Next tip tc
Xc nh ngun d liu (Khai bo iu kin v sp xp nu c) tip tc chn Next
Chn Test Query xem kt qu, chn Finish han tt
To iu khin li gridView v ch nh ngun d liu l AccessdataSource1 va to.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 71
Thi hnh xem kt qu
Ghi ch:
truyn gi tr cho cc tham s theo cc hnh thc: Form, QueryString, Control, . . . ta
khai bo tng t nh s dng iu khin SQLDataSource .
2. iu khin XML DataSource
Ngai cc iu khin kt ni CSDL SQLDataSource, AccessDataSource chng ta c th
s dng iu khin kt ni CSDL nh dng XML.
Tuy nhin khc vi SQLDataSource, AccessDataSource khi s dng iu khin
XMDataSource ta cn c tp tin XML.
S dng iu khin XMLDataSource t ngn Data trn thanh Toolbox.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 72
V d thit k trang DanhsachSV.aspx hin th t tp tin XML (DanhsachSV.XML)
To tp tin DanhsachSV.XML
<?xml version="1.0" encoding="utf-8"?>
<DSSinhvien>
<Sinhvien MaSV="SV01" HotenSV="Trn Vn Nam"
Diachi="123 Trn Hng o, Q5" Email="nam@gmail.com" />
<Sinhvien MaSV="SV02" HotenSV="Nguyn Th L"
Diachi="45 Hai B Trng, Q1" Email="lythi@yahoo.com" />
<Sinhvien MaSV="SV03" HotenSV="Nguyn Th Bnh"
Diachi="31 L Thng Kit,TB" Email="kiet@gmail.com"/>
</DSSinhvien>
Triu gi trang DanhsaxhSV.xml ln trnh duyt c kt qu nh sau:
To iu khin XMLDataSource vo trang DanhsachSV.aspx
Chn Configure Data Source . . .: thc hin kt ni
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 73
Chn Nt Browse tm v chn tp tin DanhsachSV.
Chn Ok han tt
To iu khin li gridView v ch nh ngun d liu l AccessdataSource1 va to.
Thi hnh xem kt qu
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 74
III. KT NI V CP NHT CSDL
SQLDataSource v Access DataSource ngoi chc nng thong thng cho php to kt
ni CSDL v truy xt d liu cn cho thc hin cc thao tc cp nht d liu nh: Thm, Xa,
Sa (Insert, Update. Delete)
V d minh ha: Thc hin chc nng Nhp sch mi vo Table Sach CSDL trong
QLBansach.
Trang web c thit k vi cc Control tng ng d liu cn nhp mi vo Table
Sach
To Control SqlDataSource vo trang To kt ni vi CSDL QLBansach cho
SqlDataSource
o Chn Specify columns from a table or view
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 75
o Name: Sach
o Columns : chn tt c cc ct cn nhp mi d liu tng ng
o Chn Advanced Chn Generate INSERT, UPDATE, and DELETE statements
(T ng to cc cu truy vn INSERT, UPDATE, DELETE)
o Click Next Finish
o Phi chut SqlDataSource1, chn Property, chn thuc tnh
o InsertQuery : Cu lnh nhp liu
o DeleteQuery: Cu lnh xa d liu
o UpdateQuery: Cu lnh cp nht s iu chnh d liu.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 76
Lin kt 1 ct trong bng vi 1 control trong mn hnh (v d ct Tensach lin kt vi
control txtTensach)
o Parameters : MaBanTin (tn field cn nhp liu)
o Parameter source : Control
o ControlID : txtMaBanTin (Tn Control cha DL cn them)
Tng t cho cc ct khc
Trong trng hp ct Hinhminhoa th bm vo Show advanced properties
o PropertyName chn FileName
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 77
o Vit hm x l s kin click cho nt Lu
protected void btnLuu_Click(object sender, EventArgs e)
{
SqlDataSource1.Insert();
}
o Chy v kim tra chng trnh.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 78
Chng 4
CC IU KHIN LIN KT D LIU
S dng cc iu khin GridView, Data List v Repeater hin th d liu.
I. iu khin GridView
GridView l mt iu khin kh linh hot v hiu qu trong vic hin th, nh dng v
thao tc vi d liu. Bn cnh , chng ta c th thc hin sp xp d liu, thc hin phn
trang vi s h tr kh tt ca VS .Net trong qu trnh thit k.
1. To GridView vo trang
Ko Control GridView vo trang
2. nh dng t ng
Thc hin chn nhng mu nh dng c sn quy nh v khung vin mu nn bng
cch Chn Auto Format t khung DataGrid Task
3. Kt ni ngun d liu
Thc hin kt ni ngun d liu vi c s d liu Access, SQLServer, . .
Trong ca s DataGrid Task ti mc Choose Data Source chn : New Data Source
Chn them ct mi
iu chnh cc ct
Kt ni ngun d liu
To cc ct ty bin
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 79
o Vi CSDL Access
Xc nh ngun d liu t Table, Quyery hay cu lnh truy vn c th ch nh
iu kin lc d liu v sp xp.
Vi CSDL Access
Tm chn tp tin CSDL Access
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 80
Chn Test Query kim tra kt qu ngun d liu. Chn Finish han
thnh
o Vi CSDL SQLServer
Khai bo tham s iu kin
Ch nh sp xp
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 81
Khai bo cc thng s v chn CSDL cn kt ni
Vi CSDL SQLServer 2000/2005
To kt ni CSDL mi
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 82
Chn Ok
Xc nh ngun d liu t Table, Quyery hay cu lnh truy vn c th ch
nh iu kin lc d liu v sp xp.
Kim tra kt qu kt ni
Khai bo tham s iu kin
Ch nh sp xp
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 83
- Chn Test Query kim tra kt qu ngun d liu. Chn Finish han thnh
Thi hnh xem kt qu:
4. Thm ct
Trong ca s DataGrid Task chn : Add New Column
Chn Loi field cn to : BoundField
Khai bo tiu ct : Header Text
Ch nh tn field d liu: DataField
Ok han thnh
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 84
5. Hiu chnh, To mi cc ct
Trong ca s DataGrid Task chn : Edit Column
AvailableFields: Chn lai Field lin kt d liu
o BoundField: Ct c lin kt vi ngun d liu dng Textbox.
o Checkbox Field: Ct c lin kt vi ngun d liu dng Checkbox.
o Hyperlink Field: Ct c lin kt d liu dng lin kt.
o Button Field: Ct dng nt lnh
o CommandField: Ct dng nt lnh c thit k sn. iu khin
GridView cung cp cho chng ta 3 loi ct dng ny:
Select: Nt lnh chn dng d liu
Edit, Cancel, Update: Cc nt lnh h tr chc nng cp nht d
liu trc tip trn li.
Delete: Nt lnh xa dng d liu
Chng ta s c dp tm hiu k hn v cc nt lnh ny trong phn
Cp nht d liu trc tip trn li.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 85
o TemplateField: Ct do ngi dng t thit k. y l loi ct c kh nng
lm vic kh linh hat.
V d bn cn hin th danh sch khch hng. Ti ct Phi, bn
mun hin th dng Nam/N. Chng ta s tm hiu su hn v Template
Column phn sau.
BoundColumn properties: Qui nh thng tin chi tit cho cc ct
o HeaderText, Footer Text: Thng tin tiu trn/di ca ct
o Header Image: Hnh hin th trn tiu ct (thay th thng tin tiu ct - Header
Text).
o Sort Expression: Biu thc sp xp ca ct.
o Visible: Qui nh ct c c hin th hay khng.
o DataField: Qui nh tn field hay tn thuc tnh ca i tng d liu cn hin th.
o Data formatting expression: Biu thc nh dng d liu.
Mu nh dng: {0:<chui nh dng>}. V d:
+ nh dng s: {0:000.00}, {0:0.##}
+ nh dng ngy gi: {0:dd/MM/yyyy}, {0:hh/mm/ss tt}
Convert this Field into a Template Column: Chuyn ct hin hnh thnh ct dng Template
Column.
6. Thit lp cc thuc tnh nh dng li
thc hin cc thao tc thit lp cc thuc tnh, chng ta chn GridView Properties.
Hin / n : Header / Footer - Phn u v chn ca GridView
o Show header: Qui nh dng tiu trn c c php hin th hay khng. (mc
nh l c hin th dng tiu )
o Show footer: Qui nh dng tiu di c c php hin th hay khng. (mc
nh l khng hin th dng tiu di)
nh dng dng Header/Footer: HeaderStyle / FooterStyle

nh dng dng d liu l/chn: RowStyleAlternatingRowStyle
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 86
Sp xp: AllowSorting
Allow sorting: C cho php sp xp d liu hay khng. (mc nh l khng cho
php sp xp)
Phn trang: AlowPaging
o nh dng cho phn trang
Page size: Qui nh s dng ca mi trang.
Possition: Qui nh v tr hin th ca b nt di chuyn. pha trn thanh
tiu , pha di hay c hai.
Mode: Qui nh hnh thc hin th ca b nt di chuyn. Hin th dng s
trang hay l cc chui k t i din (Next page/Previous page button text).
Trong trng hp hin th dng s, Numeric buttons qui nh s nt lnh
c hin th ti a.
Google hin th kt qu c phn trang theo dng s
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 87
II. iu khin DataList
1. S dng DataList hin th d liu
Nh iu khin Gridview, iu khin DataList c s dng hin th d liu. Tuy
nhin, i vi DataList, chng ta phi t thit k hnh thc hin th d liu (ging nh Template
Column ca GridView).
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 88
S dng DataList hin th thng tin sch
Mt s thuc tnh cn ch ca DataList
RepeatDirection: Qui nh hng hin th d liu
o Horizontal: Hin th d liu theo chiu ngang
o Vertical (mc nh): Hin th d liu theo chiu ng
RepeatColumns: Qui nh s ct hin th ca DataList
Thit k hnh thc hin th cho DataList cng tng t nh thit k cho ct Template
Column ca GridView
Chn Edit Template t thc n ng cnh thc hin thit k hnh thc hin th cho
DataList.
Chn chc nng thit k cho DataList
Ghi ch:
Trong qu trnh thc hnh, cng vic thit k c d dng, cc bn thc hin thit
k bn ngoi iu khin DataList. S dng Table nh v tr hin th ca cc iu khin.
Sau khi hon tt cng vic thit k, chng ta ko kt qu thit k vo v tr cn hin th trong
DataList.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 89
V d: Hin th thng tin sch vi DataList
Thit k thng tin sch vi DataList
Kt qu trn trang Web
III. iu khin Repeater
Nh 2 iu khin DataList & DataGrid, iu khin Repeater cng c dng hin th
d liu. Tuy nhin, hin th d liu, chng ta phi t thit k hnh thc hin th thng qua cc
tag HTML.
iu khin Repeater c cc tag sau:
<HeaderTemplate></HeaderTemplate> (ty chn)
Qui nh hnh thc hin th cho tiu . (Ch xut hin 1 ln, pha trn ca iu khin)
<ItemTemplate></ItemTemplate> (Bt buc phi c)
Qui nh hnh thc hin th cho cc mc d liu trong iu khin.
<AlternatingItemTemplate></AlternatingItemTemplate> (ty chn)
Qui nh hnh thc hin th cho cc mc d liu trong iu khin. Ni dung c qui
nh trong cp tag ny s hin th xen k vi cc ni dung trong cp tag
<ItemTemplate> </ItemTemplate>
<SeparatorTemplate></SeparatorTemplate> (ty chn)
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 90
Qui nh hnh thc hin th gia cc dng d liu
<FooterTemplate></FooterTemplate> (ty chn)
Qui nh hnh thc hin th cho tiu di. (Ch xut hin 1 ln, pha di ca
iu khin)
V d:
Bc 1. To mi iu khin Repeater: rptChudesach vo trang Web.
iu khin rptChudesach trn trang Web
Bc 2. Kt ni v to ngun d liu cho iu khin t Table Chude vi cc ct: MaCD,
Tenchude.
Bc 3:. Chuyn qua xem trang Web di dng HTML
<asp:Repeater ID="rptChudesach" runat="server" DataSourceID="SqlDataSource1">
</asp:Repeater>
Bc 3. B sung cc tag sau
<asp:Repeater ID="rptChudesach" runat="server" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<table border="1" cellspacing="0">
<tr>
<td width="60" align="center">
<strong>M C</strong>
</td>
<td width="150" align="center">
<strong>Tn ch </strong>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Eval("MaCd") %>
</td>
<td>
<%# Eval("Tenchude")%>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="GhostWhite">
<td>
<%# Eval("MaCD")%>
</td>
<td>
<%# Eval("TenChude")%>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Bc 4. Xem li mn hnh thit k v thc thi kt qu.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 91
V. S dng DetailView v FormView
Hai iu khin ny cho php bn lm vic vi mt trng d liu n ti mi thi im
C hai iu khin ny cho php bn thay i, thm mi hay xo d liu nh mt bn ghi c s
d liu, v n cho php bn chuyn sang trang tip theo hay quay li trang trc thng qua
thit lp d liu.
1. DetailView
a. Hin th d liu vi DetailView
DetailView c a ra hin th nh mt bng(<Table>) trong HTML hin th d liu
mt bn ghi.
V d: Trang XemthongtinKH.aspx
b. S dng Fields vi iu khin DetailView
DetailView h tr tt c cc Field nh GridView
o BoundField: cho php bn hin th gi tr ca d liu nh Text
o CheckBoxField: hin th d liu di dng mt CheckBox
o CommandField: hin th lin kt cho php chnh sa, thm mi, xo d liu.
o ButtonField: hin th d liu nh mt button(ImageButton, )
o HyperLinkField: hin th mt lin kt
o ImageField: hin th nh
o TemplateField: cho php hin th cc u khin tu bin.
c. X l phn trang vi iu khin DetailView
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 92
to phn trang ch nh thuc tnh AllowPaging=true cho iu khin DetailView. Vi
cc thuc tnh nh dng thuc nhm thuc tnh: Pagersettings
d. Minh ha:
Trong v d trn bn lin kt d liu vi Table Khachhang a vo 5 BoundField v mt
CheckBoxField, in vo d liu vi thuc tnh DataField v thit t cho n tiu d vi
HeaderText. To phn trang v nh dng trnh by ti gc trn bn phi. Kt xut ca chng
trnh
2. DetailView
a. Hin th d liu vi FormView
FormView c a ra hin th d liu vi cc iu khin ty bin hin th d liu
mt bn ghi. V d: Trang XemthongtinNXB.aspx
b. Trnh by d liu s dng Edit Template
FormView h tr trnh by d liu dng ty bin cho tt c cc Field DataList
o To FormView vo trang v lien kt d liu
o Ti ca s thit k chn Edit Tempalte t ca s FormView Task
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 93
o Thit k trnh by vi cc Control iu khin tng t nh khi thit k DataList
vi cc iu khin ty bin
c. X l phn trang vi iu khin DetailView
to phn trang ch nh thuc tnh AllowPaging=true cho iu khin DetailView. Vi
cc thuc tnh nh dng thuc nhm thuc tnh: Pagersettings
d. Minh ha:
Trong v d trn bn lin kt d liu vi Table NhaXuatBan a vo 4 Label, in vo
d liu vi thuc tnh Text cho cc File tng tng v thit t cho n tiu d vi HeaderText.
To phn trang v nh dng trnh by ti pha di gia trang
Kt xut ca chng trnh
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 94
Chng 5
X L D LIU VI ADO.NET
I. Tm hiu v ADO.NET
Hu ht ng dng hay cc website u cn phi c c s d liu, lu tr d liu, x
l thng tin v a ra cc bo co, h tr tm kim Khi d liu tr thnh trung tm ca ng
dng th cung cp cc chc nng ti ngi dng ph thuc vo kh nng thao tc d liu, vn
m ngi thit k v ngi xy dng ng dng quan tm khi s dng d liu l:
Lu d liu tp trung
m bo ton vn d liu
m bo kh nng truy xut ng thi ca nhiu ngi dng trn d liu
m bo thi gian hi p ngn cho mi ngi dng
Bo mt d liu
Trao i d liu gia cc h thng khc nhau
Nhng vn ny c gii quyt da vo kh nng ca cc h qun tr c s d
liu(HQT CSDL) v cc phn mm x l d liu do HQT CSDL cung cp.
.Net truy xut d liu qua ADO.NET, c im chnh ca ADO.NET l kh nng lm
vic vi d liu khng kt ni, d liu c lu tr trong b nh nh mt csdl thu nh gi l
dataset, nhm tng tc tnh ton, x l tnh ton v hn ch s dng ti nguyn trn
Database Server.
c im quan trng th 2 l kh nng x l d liu chun XML, d liu dng XMl c
th trao i gia bt k h thng no nn ng dng ca bn s c nhiu kh nng lm vic vi
nhiu ng dng khc.
1. Kin trc ADO .Net
Kin trc ADO.NET c th chia lm 2 phn chnh:
- Managed Provider Component: bao gm cc i tng nh DataAdapter, DataReader,
gi nhim v lm vic trc tip vi d liu nh database, file,
- Content Component: bao gm cc i tng nh DataSet, DataTable, i din cho d
liu thc s cn lm vic.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 95
o DataReader l i tng mi, gip truy cp d liu nhanh chng nhng forward-only
v read-only ging nh ADO RecordSet s dng Server cursor, OpenFowardOnly v
LockReadOnly.
o DataSet cng l mt i tng mi, khng ch l d liu, DataSet c th coi l mt
bn sao gn nh ca CSDL trong b nh vi nhiu bng v cc mi quan h.
o DataAdapter l i tng kt ni gia DataSet v CSDL, n bao gm 2 i tng
Connection v Command cung cp d liu cho DataSet cng nh cp nht d
liu t DataSet xung CSDL.
2. Minh ha to kt ni c s d liu
using System;
using System.Data;
using System.Data.SqlClient;
public partial class vd1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
//M kt ni
cnn.Open();
//Command iu khin truy vn sql
SqlCommand cmd = cnn.CreateCommand();
cmd.CommandText = "select HotenKH from Khachhang where MaKH=5";
//ly v chui gi tr trong c s d liu
string result = (string)cmd.ExecuteScalar();
//ng kt ni
cnn.Close();
//in gi tr ra mn hnh
Response.Write(result);
}
}
Thi hnh
C bn cc bc thc hin vi database
Bc 1: To kt ni
Bc 2: M kt ni d liu
Bc 3: To lnh iu khin truy vn SQL
Bc 4: Thc thi lnh
Bc 5: ng kt ni
Bc 6: in kt qu
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 96
II. Cc i tng trong ADO.Net
1. i tng Connection
Vai tr ca Connection trong ADO.net l to kt ni gia ng dng vi ngun d
liu(CSDL)
Data Provider :
o System.Data.Oledb : S dng vi Access
o System.Data.SqlClient : S dng vi SQLServer
ng vi mi tn min ta c mt connection tng ng:
o System.Data.Oledb.OledbConnection
o System.Data.SqlClient.SqlConnection
Ngai ra Ado.net cn h tr cc Data Provider khc nh
o System.data.OcracleClient : Dnh cho Ocracle
o MicroSoft.data.Odbc : Dnh cho dng kt ni thong qua Odbc Connectiona H
iu hnh
o Microsoft.Data.Sqlxml: Dnh cho XML trn Sqlserver
Connection String
Trc khi thc hin kt ni Connectionn khai bo cc thong tin cho Connection
thng qua thuc tnh Connection String. Cch khai bo thay i ty thuc vo Data
Provider. Gm c cc thnh phn sau:
o Nu kt ni vi CSDL Access
Provider: Khai bo Data Provider Connectiona H QT CSDL Access
Data Source: Ngun d liu (Tn CSDL.mdb)
User ID: Tn ngi dng
Password : Mt khu
V d: To kt ni vi CSDL Access
using System;
using System.Data;
using System.Data.OleDb;
public partial class VD2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
String StrCnn="Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=" + Server.MapPath("~/App_Data/QLBansach.mdb");
OleDbConnection cnn = new OleDbConnection (StrCnn);
//M kt ni
cnn.Open();
//Command iu khin truy vn sql
OleDbCommand cmd = cnn.CreateCommand();
cmd.CommandText = "select HotenKH from Khachhang where MaKH=2";
//ly v chui gi tr trong c s d liu
string result = (string)cmd.ExecuteScalar();
//ng kt ni
cnn.Close();
//in gi tr ra mn hnh
Response.Write(result);
}
}
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 97
o Nu kt ni vi CSDL SQLServer
Provider: Khai bo Data Provider Connectiona H QT CSDL SQLServer
Data Source:Tn my ci t SQLServer
Initial Catalog: Tn CSDL
User ID: Tn ngi dng
Password : Mt khu
Cc thuc tnh Ca Connection
o DataBase: : Tng ng vi Initial Catalog(SQL) hay tn CSDL mun lm vic
(Access)
o DataSource: Tng ng vi DataSource Tn my SQL hay tn CSDL
o Provider: Tng ng vi Provider
o State: Tnh trng kt ni Connectiona Connection vi cc gi tr
Broken: Kt ni b ngt ch xy ra sau khi kt ni
Closed: Kt ni ng
Connecting: ang kt ni
Executing: Kt ni ang thc hin mt lnh
Fetching: Kt ni ang truy xut d liu
Open: Kt ni ang m
Cc phng thc
Change Databse: Thay i DataBase lm vic
Close : ng kt ni s dng ng Connection ang m
Dispose: Xa tan b ti nguyn lin quan n Connection trn vng nh.
Open: Thc hin kt ni Connectioni cc thng tin khai bo trong
ConnectionString
V d: Kim tra kt ni vi CSDL SQLServer
protected void Button1_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=;Initial Catalog=QLbansach;User ID=sa;Password=");
//M kt ni
cnn.Open();
TextBox1.Text = "State = " + cnn.State; ;
// Thc hin cc cu lnh SELECT, INSERT, DELETE, UPDATE.
cnn.Close();
//ng kt ni
}
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 98
2. i tng Command
Sau khi to kt ni vi ngun d liu, mi thao tc vi ngun d liu u c thc
hin thng qua Command. Ty theo loi Connection i tng Command thuc tn min nh
sau:
System.Data.OleDb.OleDbCommand
System.Data.SqlClient.SqlCommand
To Command
Chng ta c th to Command thng qua i tng Connection bng cch:
<Loai command> <Bin Command> As New <Loai command>;
<Bin command>.Connection=<Bin Connection>;
<Bin Command>.CommandText=<Lnh SQL>;
Hoc
<Loai Command> <Bin Command> As New <Loi >Command(<Lnh SQL>);
<Bin Command>.Connection=<Bin Connection>;
Cc thuc tnh
CommandText : Lnh SQL hay tn Stored Procedure mun thc hin trn ngun d liu
CommandType: Gi tr cho bit ni dugn Commandtext l g:
Text: (Mc nh) l cu lnh SQL
StoredProcedure: Tn th tc
TableDirect: Tn Connectiona table
VD:
SqlCommand cmd As SqlCommand = New SqlCommand();
cmd.Connection = cnn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "Select* From Khachhang Where MaKH=2";
Parameters
Lnh SQL trong commandText c th s dng du ? thay cho tr cha xc nh v khi
thc hin s dng i tng Parameters truyn gi tr vo du ? . Ty theo Command
Parameter s khai bo t lp OledbParameter hay SqlParameter. C php khai bo sau:
OleDbParameter | SqlParameter <tn Parameter> As
New OleDbParameter | SqlParameter();
OleDbParameter | SqlParameter <Ten Parameter> As
New OleDbparameter | SqlParameter(<Tn>);
OleDbParameter | SqlParameter <Tn parameter> As
New OleDbParameter | SqlParamter(<tn>,<gi>);
Cc thuc tnh cn ch :
Direction : Gi tr cho bit lai tham s
Input: (mc nh) Loi tham s u vo
InputOutput: Loi tham s u vo v ra
Output: Loi tham s u ra
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 99
ReturnValue: Loi tham s nhn gi tr tr v Connectiona mt th tc
OleDbType / SqlDbType: Kiu d liu OleDb hay SQLDb Connectiona tham s.
ParameterName: Tn tham s
Value: Gi tr tham s
Dng phng thc CreateParameter v Add Command ca tp hp Parameters.
VD: Khi s dng OleDbCommand
cmd.CommandText=Select * From Khachhang Where MaKH=?;
OleDbParameter Par As OleDbParameter= cmd.CreateParameter();
Par.Value=KH01;;
cmd.Parameters.Add(Par);
VD: Khi s dng SqlDbCommand
cmd.CommandText=Select * From Khachhang Where MaKH=@MaKH;
SqlParameter Par As SqlParameter = cmd.CreateParameter();
Par.ParameterName=@MaKH;
Par.Value=KH01;
cmd.Parameters.Add(Par);
a tham s vo tp hp Parameters
VD: Khi s dng OleDbCommand
cmd.CommandText=Select * From BangDiem Where Masv=? And MaMH=?;
OleDbParameter Par1 As OleDbParameter=
cmd.CreateParameters.Add(Sinhvien,OleDbType.Char,4);
Par1.Value=SV01
OleDbParameter Par2 As OleDbParameter=
cmd.CreateParameters.Add(Monhoc,OleDbType.Char,4);
Par2.Value=MH01
VD: Khi s dng SqlDbCommand
cmd.CommandText=Select * From BangDiem Where Masv=@MaSV
and MaMH = @MaMH ;
SqlDbParameter Par1 As SqlDbParameter=
cmd.CreateParameters.Add(@MaSV,SqlType.Char,4);
Par1.Value=SV01
SqlDbParameter Par2 As SqlDbParameter=
cmd.CreateParameters.Add(@MaMH,SqlType.Char,4);
Par2.Value=MH01;
To tham s v a vo tp hp Parameters
VD: Procedure SpKetQuaThi Cn 2 tham s u vo: @MaSV , @MaMH v tr
v im thi ca Mn hc Connectiona sinh vin . V vy chng ta Connectionn
truyn 3 tham s: 1 tr v, 2 a vo. Tham s tr v phi c truyn cho Command
trc tin
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 100
cmd.CommandText=spKetQuaThi;
cmd.CommandType=CommandType.StoredProcedure;
OleDbParameter ts3 As New OleDbParameter();
ts3.Direction=ParameterDirection.ReturnValue;
ts3.OleDbType=OleDn.OleDbType.Int;
cmd.parameters.Add(ts3);
OleDbParameter ts1 as OleDbParameter=
cmd.Parameters.Add(@MaSV,OleDbType.Char,4);
Ts1.Value=Sv01;
OleDbParameter ts2 as OleDbParameter=
cmd.Parameters.Add(@MAMH,OleDbType.Char,4);
Ts1.Value=MH01;
Thc hin Command
Phng thc ExecuteReader: Phng thc ny tr v mt i tng DataReader
c d liu mi ln mt dng vi phng thc Read. DataReader c d liu trc tip t
ngun d liu nn phi duy tr kt ni n khi c xong c php.
SqlDataReader <Tn DataReader> As SqlDataReader;
<Tn DataReader> = <tn Command>.ExecuteReader;
VD: SqlDataReader reader As SqlDataReader;
reader = cmd.ExecuteReader;
Phng thc ExcuteNoneQuery: Dng thc thi cc pht biu T-Sql nh: Insert,
Update, Delete, Create,
Phng thc ExcuteScalar: Tr v t pht bit SQL dng Select ch c mt ct mt
hng.
3. i tng Datareader
L i tng truy cp d liu trc tip, s dng con tr pha Server v duy tr kt ni vi
Server trong sut qu trnh c d liu, DataReader thuc tn min
System.data.OleDbDatReader hoc System.Data.SqlDataRaeder
Cc thuc tnh
FieldCout: S Connectiont trn dng hin hnh ca DataReader
IsClosed : Cho bit dataReader ng
Item:Tr ca ct truyn vo. Tham s truyn vo l tn ct hoc s th t t 0.
Cc phng thc
Close: ng DataReader
GetFieldType: Tr v kiu d liu ca ct truyn vo.
GetName: Tr v tn ca ct truyn vo
GetValue: Tar3 v tr ca ct truyn vo
Read : Di chuyn n dng k tip v tr v true nu cn dng di chuyn,
ngc li tr v False.
Trong khi dataReader ang m cc thao tc d liu trn ngun d liu u khng
th cho n khi dataRaeder ng li bng lnh Close.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 101
4. i tng DataAdapter
ly d liu t ngun d liu v cho ng dng, chng ta s dng mt i tng gi l
DataAdapter. i tng ny cho php ta ly cu trc v d liu ca cc bng trong ngun d
liu.
DataAdapte l mt b gm 4 i tng:
- SelectCommand: Cho php ly thng tin t ngun d liu v.
- InsertCommand cho php thm d liu vo bng trong ngun d liu.
- UpdateCommand cho php iu chnh d liu ca bng trong ngun d liu.
- DeleteCommand cho php xa d liu ca bng trong ngun d liu.
a. To DataAdapter
Khai bo r DataAdapter s dng theo DataProvider no: sqlDataAdapter hay
OledbDataAdapter hai lp ny thuc tn min:
System.Data.OleDb.OleDbDataAdapter
System.Data.SqlClient.SqlDataAdapter
C php to DataAdapter
New <Loai>DataAdapter();
New <Loai>DataAdapter(<i tng SelectCommand>);
<i tng SelectCommand>: C sn vi ni dng lnh truy xut.
New <Loai>DataAdapter(<Lnh>,<i tng Connection>)
DataAdapter ch thao tc vi mt ngun d liu qua mt i tng connection ang kt
ni, khi Connection cha m th DataAdapter s t ng m kt ni khi cn v ng li.
VD:
OleDbDataAdapter DA As New OleDbDataAdapter();
DA.SelectCommand.CommandText=Select * From Sinhvien;
AD.SelectCommand.Connection.ConnectionString=Provider=MicroSoft.Jet.OleDb.4.0;
Data Source=c:\QuanLySV.mdb;
b. Cc thuc tn chnh ca DataAdapter
DeleteCommand : i tng Command cha ni dung lnh hy cc mu tin trn ngun
d liu.
InsertCommand : i tng Command cha ni dung lnh thm cc mu tin trn ngun
d liu.
SelectCommand: i tng Command cha ni dung lnh truy xut cc mu tin trn
ngun d liu.
UpdateCommand : i tng Command cha ni dung lnh sa cc mu tin trn
ngun d liu.
c. Cc chc nng ca DataAdapter
- Ly d liu t ngun: S dng DataAdapter ly d liu v cho cc i tng
o DataTable: Fill(<DataTable>)
o DataSet: Fill(<DataSet>) D liu ly v DataSet di dng cc
dataTable vi tn mc nh l: Table,Table1, Table2. . .:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 102
o d liu vo Datset cho bng DataTable nu cha c s to mi:
Fill(<DataSet>,<Tn dataTable>)
- Phng thc tr v mu tin ly v c
Dim DS as New Dataset()
Dim so As Integer
so= DA.Fill(DS,Sinhvien)
- cp nht d liu v ngun
Update(<mng dng>): Cp nht cc dng (Cc i tng DataRow) vo ngun d liu.
Update(<Dataset>): Cp nht cc thay i trn tt c cc bng ca Dataset vo ngun
d liu.
Update(<DataTable>): Cp nht tt c cc thay i trn DataTable vo ngun d liu.
Update(<Dataset>,<Tn bng>) Cp nht cc they i trn bng trong Dataset vo
ngun d liu..
5. i tng DataSet
Dataset l mt m hnh CSDL quan h thu nh p ng nhu cu ca ng dng.
Dataset cha cc bng (DataTable) cc quanh (DataRelation) v cc rng buc
(constraint) Dataset thuc tn min: System.Data.Dataset.
a. Khai bo
New System.Data.Dataset()
Hoc
New System.Data.Dataset(<tn Dataset>)
b. Cc phng thc
- Thm mt bng vo Dataset
Tables.Add()
Mt bng mi t ng c to ra vi tn mc nh Table1, Table2 . . .
Tables.Addd(<Tn bng>)
Mt bng mi to ra theo ng <tn bng>
Ghi ch: Tn bng c phn bit ch in, thng
- Xa bng ra khi Dataset
Tables.Remove(<Tn bng>)
Xa bng ra khi tp hp Table.
- Kim tra bng c thuc v Dataset
Tables.Contains(<Tn bng>)
- Ly ch s ca bng
Tables.IndexOf(<tn bng>)
- Ly s bng trong Dataset
Tables.Count
- Ly ra mt bng trong Dataset
Tables(<Ch s>)
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 103
- cp nht cc thay i trn Dataset
AcceptChanges()
- hy cc thay i trn Dataset
RejectChanges()
- xa b mi d liu trn dataSet
Clear()
- to mt bn sau ca Dataset
Clone()
- xa b Dataset
Gi phng thc Dispone gii phng mi ti nguyn trn vng nh Dataset ang s
dng.
- To quan h gia hai bng trong Dataset.
Relations.Add(<DataColumn trn bng cha>,<Data Column trn bng con>)
- Xa quan h gia hai bng trong Dataset.
Relations.Remove(<quan h>)
6. i tng Datatable
D liu cc bng trong ngun d liu c ly v v a vo cc DataTable. DataTable
thuc tn min : System.Data.dataTable.
C php:
New DataTable();
New DataTable(<Tn bng>);
DataTable c hnh thnh t cc DataColumn, DataRow.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 104
III. Mt s minh ha
1. Kt ni c s d liu
protected void Button1_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
//M kt ni
cnn.Open();
// Thc hin cc cu lnh SELECT, INSERT, DELETE, UPDATE.
TextBox1.Text = "State = " + cnn.State;
//ng kt ni
cnn.Close();
}
2. Kt ni, thao tc d liu, s dng i tng Command vi cu lnh SELECT
protected void Button2_Click(object sender, EventArgs e)
{
try
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");

//Khai bo v khi to bin Command
SqlCommand cmd = new SqlCommand();
//Khai bo bin Command s dng Connection no n database?
cmd.Connection = cnn;
//Bin Commnad thao tc vi database bng
//(1.Cu lnh, 2.Tn bng, 3.Tn Store) no?
cmd.CommandText = "SELECT COUNT(*) FROM Chude";
//Cho bit CommandText chnh l cu lnh.
cmd.CommandType = CommandType.Text;
//M kt ni
cnn.Open();
// Ly d liu v bng phng thc ExecuteScalar.
int count = (int)cmd.ExecuteScalar();
//Xut kt qu ra WebForm
TextBox2.Text = count.ToString();
//ng kt ni.
cnn.Close();
}
catch (Exception)
{
//Xut kt qu ra WebForm
TextBox2.Text = "Khng thnh cng!";
}
}
3. Kt ni, thao tc d liu, s dng i tng Command vi cu lnh INSERT,
UPDATE, DELETE
protected void Button3_Click(object sender, EventArgs e)
{
try
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 105
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
//Bin Commnad thao tc vi database bng cu lnh
//(INSERT, UPDATE, DELETE)
cmd.CommandText = "INSERT INTO CHUDE(TenCD) VALUES(N'Vn ha')";
cmd.CommandType = CommandType.Text;
cnn.Open();
//Thao tc d liu (INSERT, UPDATE, DELETE)
//bng phng thc ExecuteNonQuery.
cmd.ExecuteNonQuery();
//Xut kt qu ra WebForm
TextBox3.Text = "Thnh cng!";
cnn.Close();
}
catch (Exception)
{
//Xut kt qu ra WebForm
TextBox3.Text = "Khng thnh cng!";
}
}
4. Kt ni, thao tc d liu, s dng i tng Command vi cu lnh INSERT,
UPDATE, DELETE + Truyn tham s.
protected void Button4_Click(object sender, EventArgs e)
{
try
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
//Khai bo v khi to tham s
SqlParameter parTenLinhVuc =
new SqlParameter("@TENCHUDE", SqlDbType.NVarChar, 50);
cmd.CommandText =
"INSERT INTO CHUDE VALUES(@TENCHUDE)";
cmd.CommandType = CommandType.Text;
//Thm bin tham s cho Command
cmd.Parameters.Add(parTenchude);

//Gn gi tr cho bin tham s
parTenLinhVuc.Value = TextBox1.Text;

cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
lbThongbao.Text = "Thnh cng!";
}
catch (Exception)
{
lbThongbao.Text = "Khng thnh cng!";
}
}
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 106
5. Kt ni, thao tc d liu, s dng i tng Command vi cu lnh INSERT,
UPDATE, DELETE + Truyn tham s.
protected void Button5_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "SELECT * FROM Nhaxuatban";
cmd.CommandType = CommandType.Text;
cnn.Open();
//Ly danh sch nh xut bn b vo bin DataReader
IDataReader dr = cmd.ExecuteReader();
String list = "";
//Duyt qua DataReader
while (dr.Read())
{
list = list + dr["TenNXB"].ToString().Trim() + " ";
}
dr.Close();
TextBox6.Text = list.ToString();
cnn.Close();
}
6. Kt ni c s d liu + gi store ly d liu.
CREATE PROCEDURE GetNhaxuatban
AS
BEGIN
SELECT * FROM Nhaxuatban
END
GO
protected void Button6_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand("Getnhaxuatban", cnn);
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcedure;
cnn.Open();
IDataReader dr = cmd.ExecuteReader();
String list = "";
while (dr.Read())
{
list = list + dr["TenNXB"].ToString();
}
dr.Close();
TextBox7.Text = list.ToString();
cnn.Close();
}
7. Kt ni c s d liu + gi store ly d liu + truyn tham s.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 107
CREATE PROCEDURE GetchudeByMachude
@Machude char(15)
AS
BEGIN
SELECT * FROM CHUDE WHERE MaCD=@Machude
END
GO
protected void Button7_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand("GetchudeByMachude", cnn);
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcedure;
//Khai bo v khi to bin Command
SqlParameter parMALINHVUC =
new SqlParameter("@Machude", SqlDbType.NChar, 10);
parMAVHUDE.Value = TextBox1.Text;
cmd.Parameters.Add(parMACHUDE);

cnn.Open();
IDataReader dr = cmd.ExecuteReader();
String list = "";
while (dr.Read())
{
list = list + dr["Tenchude"].ToString();
}
dr.Close();
TextBox2.Text = list.ToString();
cnn.Close();
}
8. Kt ni c s d liu + s dng DataAdapter + update d liu
protected void Button8_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlDataAdapter da = new SqlDataAdapter("select * from CHUDE", cnn);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds);
foreach (DataRow row in ds.Tables[0].Rows)
if (row["MaCD"]=="1")
{
row["TENCHUDE"] = "BBB";
}

TextBox1.Text = ds.Tables[0].Rows[2].ItemArray[1].ToString();
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
//Khng s dng SqlCommandBuilder th khng th update d liu.
da.Update(ds);
}
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 108
9. Kt ni c s d liu + s dng DataAdapter + gi store
protected void Button9_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
//Khai bo v khi to SqlDataAdapter
SqlDataAdapter da = new SqlDataAdapter("GETNHAXUATBAN", cnn);
//Khai bo v khi to DataSet
DataSet ds = new DataSet();
//Ly d liu tr v vo dataset ds
da.Fill(ds);
TextBox11.Text = ds.Tables[0].Rows[2].ItemArray[1].ToString();
GridView2.DataSource = ds.Tables[0];
GridView2.DataBind();
}
10. Kt ni c s d liu + s dng DataAdapter + gi store + truyn tham s
protected void Button10_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand("GetchudeByMachude", cnn);
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcedure;
//Khai bo v khi to tham s
SqlParameter parMACD =new SqlParameter("@MACD", SqlDbType.NChar, 10);
parMACD.Value = "1";
cmd.Parameters.Add(parMACD);
cnn.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
cnn.Close();
}
11. Kt ni c s d liu + s dng DataAdapter + i s l Command
protected void Button10_Click(object sender, EventArgs e)
{
//Khai bo v khi to bin Connection
SqlConnection cnn = new SqlConnection("Data Source=(local);
Initial Catalog=QLbansach;User ID=sa;Password=");
SqlCommand cmd = new SqlCommand("GETNHAXUATBAN ", cnn);
cmd.Connection = cnn;
cmd.CommandType = CommandType.StoredProcedure;
cnn.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
//da.InsertCommand = cmd;
//da.DeleteCommand = cmd;
//da.UpdateCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
cnn.Close();
}
}
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 109
Chng 4
CC IU KHIN LIN KT D LIU
S dng cc iu khin Data List, DataGrid v Repeater hin th d liu.
Lin kt d liu vi cc kiu tp hp:ArrayList, SortedList, HashTable,
I. iu khin DataGrid
DataGrid l mt iu khin kh linh hot v hiu qu trong vic hin th, nh dng v
thao tc vi d liu. Bn cnh , chng ta c th thc hin sp xp d liu, thc hin phn
trang vi s h tr kh tt ca VS .Net trong qu trnh thit k.
B sung Control DataGrid vo Thanh ToolBox (Nu cha c): Click phi thanh toolbox
chn Choose Items.
nh du vo mc DataGrid (System.Web.UI.WebControls) Ok
1. To DataGrid vo trang
Ko Control DataGrid vo trang
nh dng t ng
Thit lp thuc tnh
Kt ni ngun d liu
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 110
2. nh dng t ng
Thc hin chn nhng mu nh dng c sn quy nh v khung vin mu nn bng
cch Chn Auto Format t khung DataGrid Task
3. Kt ni ngun d liu
Chn New Data Source t mc Choose Data Source
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 111
Chn lai ngun d liu (DataBase)
t tn cho ngun d liu (Sieuthi)
Chn New Connection Chn Microsoft SQL Server Continue
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 112
Khai bo cc thng s ca CSDL => Chn Test Connection kim tra. Chn Ok
ng kt ni.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 113
Khai bo d liu cn truy xut.
Chn Test Query kim tra kt qu. Chn Finish han tt
4. Thit lp cc thuc tnh
thc hin cc thao tc thit lp cc thuc tnh, chng ta chn chc nng Property
Builder t khung DataGrid Task.
a. Trang General
Trong trang ny, c cc mc chn sau:
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 114
Show header: Qui nh dng tiu trn c c php hin th hay khng. (mc nh l
c hin th dng tiu )
Show footer: Qui nh dng tiu di c c php hin th hay khng. (mc nh l
khng hin th dng tiu di)
Allow sorting: C cho php sp xp d liu hay khng. (mc nh l khng cho php sp
xp)
Cc mc chn trong Tab General
b. Trang Columns (Qun l thng tin cc ct)
Trang Columns qun l thng tin cc ct s hin th trn li.
Trang Columns
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 115
Create columns automatically at runtime: Khi chn chc nng ny, DataGrid s t
ng pht sinh y cc ct c trong ngun d liu. Nu chng ta mun qui
nh cc ct cn hin th, chng ta khng chn chc nng ny.
Column list: Qui nh cc ct c hin th trong li.
o Bound Column: Ct c lin kt vi ngun d liu.
o Button Column: Ct dng nt lnh c thit k sn. iu khin
DataGrid cung cp cho chng ta 3 loi ct dng ny:
Select: Nt lnh chn dng d liu
Edit, Cancel, Update: Cc nt lnh h tr chc nng cp nht d
liu trc tip trn li.
Delete: Nt lnh xa dng d liu
Chng ta s c dp tm hiu k hn v cc nt lnh ny trong phn
Cp nht d liu trc tip trn li.
o Hyperlink Column: Ct c lin kt d liu dng lin kt.
o Template Column: Ct do ngi dng t thit k. y l loi ct c kh
nng lm vic kh linh hat.
V d bn cn hin th danh sch khch hng. Ti ct Phi, bn
khng mun hin th Nam/N, thay vo , bn mun hin th iu khin
checkbox thay th, nu checkbox c chn - th hin phi Nam v
ngc li. Trong tnh hung ny, TemplateColumn l s chn la tt dnh
cho bn. Chng ta s tm hiu su hn v Template Column phn sau.
BoundColumn properties: Qui nh thng tin chi tit cho cc ct
o HeaderText, Footer Text: Thng tin tiu trn/di ca ct
o Header Image: Hnh hin th trn tiu ct (thay th thng tin tiu ct -
Header Text).
o Sort Expression: Biu thc sp xp ca ct.
o Visible: Qui nh ct c c hin th hay khng.
o DataField: Qui nh tn field hay tn thuc tnh ca i tng d liu cn hin th.
o Data formatting expression: Biu thc nh dng d liu.
Mu nh dng: {0:<chui nh dng>}. V d:
+ nh dng s: {0:000.00}, {0:0.##}
+ nh dng ngy gi: {0:dd/MM/yyyy}, {0:hh/mm/ss tt}
o Read Only: Chn gi tr ny ct ch c php c, khng cho php cp nht
d liu.
o Convert this column into a Template Column: Chuyn ct hin hnh thnh ct
dng Template Column.
c. Trang Paging (Qun l phn trang)
Trang ny qun l vic phn trang ca DataGrid.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 116
Allow paging: C cho php phn trang hay khng.
Page size: Qui nh s dng ca mi trang.
Show navigation buttons: C hin th b nt di chuyn t trang ny qua trang khc
hay khng. Gi tr mc nh l True.
Possition: Qui nh v tr hin th ca b nt di chuyn. pha trn thanh tiu , pha
di hay c hai.
Mode: Qui nh hnh thc hin th ca b nt di chuyn. Hin th dng s trang hay l cc
chui k t i din (Next page/Previous page button text). Trong trng hp hin th
dng s, Numeric buttons qui nh s nt lnh c hin th ti a.
Google hin th kt qu c phn trang theo dng s
d. Trang Format (nh dng)
Trang Format qun l vic nh dng hin th trn iu khin DataGrid. Cc nh dng
chung nh: Mu ch, mu nn, Font ch, kch c, in m /in nghing/gch di v canh l.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 117
Trang Format
DataGrid: Qui nh cc nh dng chung cho li
Header: nh dng cho dng tiu .
Footer: nh dng cho dng tiu di.
Pager: nh dng cho dng cha cc nt lnh phn trang.
Items
o Normal Items: nh dng cho cc dng d liu.
o Alternating Items: nh dng hin th cho cc dng l.
o Selected Items:nh dng hin th cho dng ang c chn.
o Edit Mode Items: nh dng hin th cho dng ang trng thi hiu chnh d
liu.
Columns: Qui nh rng v cc nh dng ring cho tng ct.
e. Trang Borders (Khung vin)
Trang Borders qun l vic k khung vin cho li.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 118
Cell margin
o Cell padding: Qui nh khong cch gia ni dung trong vi ng vin ca .
o Cell spacing: Qui nh khong cch gia cc
Thi hnh
2. X l sp xp
Sp xp d liu trn li l mt cng vic rt cn thit i vi ngi s dng. Hy th
tng tng xem trong trng hp chng ta c kh nhiu d liu hin th trn mn hnh (gi
s l danh sch nhn vin chng hn), tht kh chn ra cc nhn vin c thm nin lm
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 119
vic lu nht hay cc nhn vin c s gi tham gia n nhiu nht. Vi chc nng sp xp
trn li s gip cho ngi dng d dng chn ra cc nhn vin tha mn cc yu cu trn.
thc hin c thao tc sp xp d liu trn li, chng ta cn phi thc hin cc
cng vic sau:
Gi tr thuc tnh Allow sorting = True
Nhp gi tr cho thuc tnh Sort expression ca cc ct cn sp xp.
X l s kin SortCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.
DataGridSortCommandEventArgs)
Trong s kin trn, gi tr e.SortExpression cho bit thng tin ca ct c chn sp xp.
V d:
Private Sub Page_Load() Handles MyBase.Load
If Not IsPostBack Then
dtgKhach_hang.DataSource = Doc_ds_khach_hang()
dtgKhach_hang.DataBind()
End If
End Sub
Private Sub dtgKhach_hang_SortCommand(,e )
dtgKhach_hang.DataSource = Doc_ds_khach_hang(e.SortExpression)
dtgKhach_hang.DataBind()
End Sub
Public Function Doc_ds_khach_hang(Optional ByVal
pChuoi_sap_xep As String = "") As DataTable
Dim sKet_noi As String
sKet_noi = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & _
Server.MapPath("..\Data\QlBanSach.mdb")
Dim cnKet_noi As New OleDbConnection(sKet_noi)
Dim dsCSDL As New DataSet
Dim sLenh_sql As String = "Select * From KHACH_HANG"
sLenh_sql &= IIf(pChuoi_sap_xep = "", _
"", " Order by " & pChuoi_sap_xep)
'M v ng kt ni ngay khi thc hin xong
cnKet_noi.Open()
Dim daBo_doc_ghi As New OleDbDataAdapter(sLenh_sql, cnKet_noi)
cnKet_noi.Close()
daBo_doc_ghi.Fill(dsCSDL, "KHACH_HANG")
Return dsCSDL.Tables("KHACH_HANG")
End Function
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 120
Sp xp khch hng tng dn theo tn
3. X l phn trang
Phn trang d liu khng nhng gip cho vic xem v tm kim thng tin c d dng
m cn gim c khi lng d liu cn c truyn ti t Server v Client. Vic phn trang
trong ASP.Net c thc hin kh d dng, ch vi mt s thao tc n gin.
thc hin phn trang, chng ta cn phi thc hin cc cng vic sau:
Qui nh cc thng s cn thit cho vic phn trang (xem Qun l phn trang phn
Cc thao tc nh dng li).
X l s kin PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.
WebControls.DataGridPageChangedEventArgs)
Trong s kin trn, gi tr e.NewPageIndex cho bit trang c chn hin th d liu.
nh dng phn trang
M lnh x l:
Private Sub Page_Load() Handles MyBase.Load
If Not IsPostBack Then
Lien_ket_du_lieu()
End If
End Sub
Private Sub dtgKhach_hang_PageIndexChanged(, e )
dtgKhach_hang.CurrentPageIndex = e.NewPageIndex
Lien_ket_du_lieu()
End Sub
D liu hin th c phn trang
4. Ty bin cc ct
Trong phn ny, chng ti s hng dn cc bn ty bin cc ct trn li, c th hn, chng
ta s
hin th checkbox thay cho gi tr True/False ca ct gii tnh.
thc hin vic ty bin cc ct, chng ta cn phi thc hin 2 giai on sau:
Giai on 1: Thit k
Trong giai on ny, chng ta ty bin ct theo mt yu cu c th. Thay v phi hin th d
liu bnh thng (nh h khch hng, tn khch hng, ), chng ta c th s dng iu khin
Checkbox thay th cho ct c gi tr lun l, s dng iu khin Image, Image button hay
Hyperlink hin th hnh nh thay cho chui ng dn dn n hnh nh ,
Giai on 2: X l
Sau khi thc hin hon tt giai on thit k, y l lc chng ta phi vit cc lnh x l
hin th d liu theo yu cu ca mnh.
I.4.1. Giai on 1: Thit k
Bc 1. Thm mi ct Phi, kiu Template Column. Nhp gi tr Header text, Sort expression
cho
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 121
ct ny (nu cn)
B sung ct Phi kiu Template Column
Bc 2. T thc n ng cnh, chn Edit Template \ Column[X] YYY
(X: S th t ca ct; Y: Chui tiu ca ct)
Chng ta chn ct cn hiu chnh.
Chn chc nng hiu chnh ct Phi
Bc 3. Thm iu khin checkbox chkPhai, vo mc ItemTemplate
Ty bin ct Phi
Bc 4. Chn End Template Editing t thc n ng cnh sau khi thit k xong.
iu khin li sau khi c ty bin ct Phi
I.4.2. Giai on 2: X l
Khc vi Bound column, ct kiu Template column khng t ng hin th d liu. M lm sao
hin
th d liu c khi chnh bn thn cc iu khin (mi c to khi thit k) khng c qui nh
field cn c hin th t ngun d liu. Do , hin th d liu (theo ca chng ta), ta
phi vit lnh cc x l trong s kin ItemDataBound
M lnh x l:
(1)Private Sub dtgKhach_hang_ItemDataBound(,e )
(2) If e.Item.ItemIndex < 0 Then Exit Sub
(3) Dim chkPhai As CheckBox
(4) chkPhai = e.Item.FindControl("chkPhai")
(5) chkPhai.Checked = e.Item.DataItem("Gioi_tinh")
(6)End Sub
Trc khi i vo tm hiu cc lnh x l trong on lnh trn, chng ta cng nn tm hiu
ngha
s kin ItemDataBound ca DataGrid. S kin ItemDataBound xy ra ngay khi phng thc
DataBind c gi (l ng nhin l ta phi gn ngun d liu cho li trc ). ng vi
mi
dng d liu s xy ra mt s kin ItemDataBound tng ng.
Phn tch x l trong on lnh trn:
Dng lnh (2): Dng lnh ny kim tra xem ln xy ra s kin ny c phi dnh cho dng d
liu
hay khng. Ti sao cn phi kim tra iu kin ny? Bi v khng ch ng vi mi dng d liu,
m
cn c cc dng Header, Footer v Pager, cng xy ra trong s kin ny.
chkPhai
bit c ln xy ra s kin dnh cho dng no, chng ta kim tra gi tr ca thuc tnh
e.Item.ItemType. Thuc tnh ny c cc gi tr sau:
Cc gi tr ca thuc tnh ItemType
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 122
AlternatingItem: Xy ra ng vi dng d liu c ch s l (dng d liu u tin tnh t 0).
EditItem: ng vi dng trng thi hiu chnh d liu.
Footer: ng vi dng tiu di.
Header: ng vi dng tiu .
Item: Xy ra ng vi dng d liu c ch s chn.
Pager: ng vi dng phn trang.
SelectedItem: ng vi dng trng thi ang c chn.
Seperator: ng vi dng phn cch
Bn cnh , nu ta ch quan tm n ln xy ra s kin ny c phi l dng d liu hay
khng, ta
c th s dng thuc tnh e.ItemIndex.
e.Item.ItemIndex < 0: y khng phi l dng d liu
e.Item.ItemIndex >= 0: y l dng d liu. Gi tr ca thuc tnh ny cho bit ch s ca
dng d liu hin hnh.
Dng lnh (3,4): Nhim v chnh 2 dng lnh ny l chng ta khai bo cc iu khin ng
vi
cc iu khin c t vo lc thit k. S dng phng thc e.Item.FindControl(<Tn iu
khin>) ly iu khin hin c trong dng ang xy ra s kin.
chkPhai = e.Item.FindControl("chkPhai") 'hay
chkPhai =Ctype(e.Item.FindControl("chkPhai"),CheckBox)
Bng
KHACH_HANG
Dng lnh (5): Sau khi ly c iu khin ng vi dng ang xy ra s kin, ty theo d liu
m
ta s hin th ln iu khin gi tr tng ng. ly c d liu ca dng hin hnh, ta s
dng
thuc tnh e.Item.DataItem(<Tn field/Tn thuc tnh>)
chkPhai.Checked = e.Item.DataItem("Gioi_tinh")
Kt qu hin th
i vi nhng x l phc tp, s kin ItemDataBound s l s la chn hng u trong vic
ty bin hin th d liu. Tuy nhin, i vi nhng x l n gin, chng ta c th thc hin
lin kt d liu trong qu trnh thit k.
Chn Edit Template ct Phi, chn iu khin chkPhai.

Chn iu khin chkPhai trong lc thit k


Trn ca s thuc tnh, chn (DataBindings)
Chn chc nng DataBidings
Trn ca s thuc tnh, chn (DataBindings). Hp thoi DataBindings ca iu khin chkPhai
xut
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 123
hin.
Cc thuc tnh c th lin kt d liu ca iu khin xut hin trong Danh sch bn tri hp
thoi.
Chn thuc tnh cn lin kt, chn loi lin kt l Custom binding expression, nhp chui lin
kt d
liu trong iu khin bn di theo c php:
Container.DataItem("Tn field")
v d ny, chng ta thc hin lin kt thuc tnh Checked ca iu khin chkPhai vi field
Gioi_tinh c trong ngun d liu ca li.
I.5. Cp nht d liu trc tip trn li
Cp nht d liu trc tip trn li trong ASP.Net c h tr kh tt v giao din. Cng vic
cn
li ca chng ta l thit k cc nt lnh nh: Chn, Sa/Ghi - Khng, Hy, v vit cc lnh
cp
nht d liu.
I.5.1. Giai on thit k
Trong ca s thuc tnh ca li, chng ta to b nt lnh cn thit h tr cho vic cp nht d
liu. v d ny, chng ti to b nt (Select - chn), (Edit, Update, Cancel - Sa, Ghi, Khng)
v
(Delete - Hy)
i vi cc nt lnh trn, cc bn cn ch n gi tr ca thuc tnh Command name. ng
vi
mi nt lnh c gi tr CommandName khc nhau, nh , ta vit lnh x l vi chc nng
tng
ng c chn.
Select: Command name = "Select"
Edit, Update/Cancel: Command name = "Edit", "Update"/"Cancel"
Delete: Command name = "Delete"
To b nt lnh Thm - Sa/Ghi/Khng - Hy
Tm hiu v thuc tnh Command Name
Cng cn bn thm mt cht y v thuc tnh Command Name. Nh cc bn cng bit, cc
nt
lnh trn (Chn, Thm - Sa / Ghi / Khng - Hy) l do VS.Net h tr, gi tr thuc tnh
CommandName ca cc nt lnh trn l nhng gi tr mc nh c qui nh sn.
ng vi mi CommandName mc nh, s c cc s kin ta thc hin cc x l tng ng:
Command name="Edit" S kin EditCommand
Command name="Update" S kin UpdateCommand
Command name="Cancel" S kin CancelCommand
Command name="Delete" S kin DeleteCommand
Chc hn cc bn s thc mc ti sao khng c s kin SelectCommand? Bn s kin c
lit k
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 124
trn l 4 s kin dnh ring, tng ng vi gi tr ca cc Command name mc nh l Edit,
Update, Cancel, Delete. i vi nhng CommandName c gi tr khc, chng ta s s dng s
kin
dnh chung cho tt c cc nt lnh c thuc tnh CommandName (Button, Linkbutton,
ImageButton) c t trn li - s kin ItemCommand.
Ti sao vy? V khi ta t cc nt lnh vo li (s dng ct Template column), chng (cc nt
lnh) khng cn s kin Click na, thay vo , tt c cc nt lnh khi c nhn s gy ra s
kin ItemCommand. Da vo gi tr e.CommandName (tham s trong s kin) chng ta
xc
nh nt lnh no c nhn.
Cng cn lu thm y l bt k nt lnh no khi c nhn u gy ra s kin
ItemCommand.
Do , i vi cc nt lnh c gi tr thuc tnh CommandName l Edit, Update, Cancel, Delete
khi
c nhn vn gy ra s kin ItemCommand trc khi gy ra cc s kin dnh ring cho
chng.
Giao din li sau khi thm b nt lnh
I.5.2. Giai on x l
X l chn mu tin
Chn mu tin trn li
Private Sub dtgKhach_hang_ItemCommand(, e )
If e.CommandName = "Select" Then
dtgKhach_hang.SelectedIndex = e.Item.ItemIndex
Lien_ket_du_lieu()
End If
End Sub
X l sa, ghi, khng
Mun cp nht d liu, ta cn xc nh khch hng c cp nht thng qua M khch hng.
ly M khch hng:
Gn thuc tnh DataKeyField ca iu khin li = "MKH"
<li>.DataKeys(<ch s i>) Tr v Mkh ti dng <ch s i>
Chn mu tin cp nht d liu
Private Sub Page_Load()
If Not IsPostBack Then
dtgKhach_hang.DataKeyField = "MKH"
Lien_ket_du_lieu()
End If
End Sub
Private Sub dtgKhach_hang_EditCommand(, e )
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 125
dtgKhach_hang.EditItemIndex = e.Item.ItemIndex
Lien_ket_du_lieu()
End Sub
Private Sub dtgKhach_hang_UpdateCommand(, e )
'Khai bo v khi to bin kt ni: cnKet_noi
'Ly d liu m ngi dng va cp nht
Dim lHo_kh As TextBox = e.Item.Cells(0).Controls(0)
Dim lTen_kh As TextBox = e.Item.Cells(1).Controls(0)
Dim lPhai As CheckBox = e.Item.FindControl("chkPhai")
Dim lMkh As Integer = dtgKhach_hang.DataKeys(e.Item.ItemIndex)
'To i tng Command cp nht d liu
Dim cmdLenh As New OleDbCommand
cmdLenh.Connection = cnKet_noi
cmdLenh.CommandText = "Update KHACH_HANG " & _
"Set Ho_khach_hang=?, Ten_khach_hang=?, " & _
"Gioi_tinh=? Where MKH=?"
'Truyn tham s cho i tng Command
cmdLenh.CommandType = CommandType.Text
cmdLenh.Parameters.Add("Ho_kh", lHo_kh.Text)
cmdLenh.Parameters.Add("Ten_kh", lTen_kh.Text)
cmdLenh.Parameters.Add("Phai", lPhai.Checked)
cmdLenh.Parameters.Add("Mkh", lMkh)
'Thi hnh Command
cnKet_noi.Open()
cmdLenh.ExecuteNonQuery()
cnKet_noi.Close()
'Tt ch cp nht d liu
dtgKhach_hang.EditItemIndex = -1
'Hin th d liu mi cp nht ln li
Lien_ket_du_lieu()
End Sub
Private Sub dtgKhach_hang_CancelCommand(, e )
dtgKhach_hang.EditItemIndex = -1
Lien_ket_du_lieu()
End Sub
Hiu chnh rng ca cc Textbox khi dng trng thi sa
Bn c th b sung on lnh sau (trong s kin ItemDataBound) hiu chnh rng cc
Textbox ca dng trng thi sa.
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 126
If e.Item.ItemType = ListItemType.EditItem Then
CType(e.Item.Cells(0).Controls(0),TextBox).Width = New Unit(133)
CType(e.Item.Cells(1).Controls(0), TextBox).Width = New Unit(63)
End If
X l hy mu tin
Private Sub dtgKhach_hang_DeleteCommand(, e )
'Thc hin xa dng d liu y
'X l tng t nh Update Command
'Hin th d liu mi cp nht ln li
Lien_ket_du_lieu()
End Sub
II. iu khin DataList
II.1. S dng DataList hin th d liu
Nh iu khin DataGrid, iu khin DataList c s dng hin th d liu. Tuy nhin, i
vi
DataList, chng ta phi t thit k hnh thc hin th d liu (ging nh Template Column ca
DataGrid).
Huy Cn V Tc Gi V Tc Phm
NXB: Gio dc
Cun Huy Cn V Tc Gia V Tc Phm tp hp nhng bi nghin
cu, ph bnh ca cc nh vn, nh th, cc cn b ging dy, cc
nh nghin cu ph bnh vn hc, cc nh nghin cu vn ha nc
ngoi c cng b trn sch, bo, tp ch. Cc bi vit ny c
sp xp theo th t thi gian v ch , bn c c th hnh ...
Gi: 45,500.00 VND
[t hng] [Xem Tip]
a Cht Cng Trnh (Gio Trnh Dng Cho Sinh Vin Ngnh Xy
Dng Cu ng)
NXB: Giao thng vn ti
a cht cng trnh l mt mn c a vo chng trnh o to k
s ngnh Xy dng cu ng ca trng i hc GTVT t lu.
Nhng hiu bit v a cht cng trnh s gip ch nhiu cho k s cu
ng trong kho st, thit k v thi cng cc cng trnh giao thng ...
Gi: 14,000.00 VND
[t hng] [Xem Tip]
S dng DataList hin th thng tin sch
Mt s thuc tnh cn ch ca DataList
RepeatDirection: Qui nh hng hin th d liu
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 127
Horizontal: Hin th d liu theo chiu ngang
RepeatDirection = Horizontal
Vertical (mc nh): Hin th d liu theo chiu ng
RepeatDirection = Vertical
RepeatColumns: Qui nh s ct hin th ca DataList
L'Enqute Corse
t mua
Unspeakable
t mua
Bottle Rocket
t mua
Ripper
t mua
Enduring Love
t mua
The Good Thief
t mua
RepeatColumns = 3
Thit k hnh thc hin th cho DataList cng tng t nh thit k cho ct Template Column
ca
DataGrid.
Chn Edit Template | ItemTemplate t thc n ng cnh thc hin thit k hnh thc hin
th
cho DataList.
Chn chc nng thit k cho DataList
Trong qu trnh thc hnh, cng vic thit k c d dng, cc bn thc hin thit k
bn ngoi iu khin DataList. S dng Table (thc n Insert Table) nh v tr hin
th ca cc iu khin.
Sau khi hon tt cng vic thit k, chng ta ko kt qu thit k vo v tr cn hin th trong
DataList.

V d: Hin th thng tin sch vi DataList


Thit k thng tin sch vi DataList
Nh ct Template Column ca DataGrid, x l hin th d liu cho DataList c vit trong s
kin
ItemDataBound. X l nhn ca cc Button t trong DataList c vit trong s kin
ItemCommand.
Private Sub Page_Load(, e ) Handles MyBase.Load
If Not IsPostBack Then
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 128
Lien_ket_du_lieu()
End If
End Sub
Public Sub Lien_ket_du_lieu()
dtSach = Doc_danh_sach_Sach()
dtlSach.DataSource = dtSach
dtlSach.DataKeyField = "Ms"
dtlSach.DataBind()
End Sub
Private Sub dtlSach_ItemDataBound(, e )
Dim lDong as Integer = e.Item.ItemIndex
If lDong < 0 Then Exit Sub
'Hin th Tn sch
Dim lnkTs As LinkButton
lnkTs = e.Item.FindControl("lnkTen_sach")
lnkTs.Text = e.Item.DataItem("Ten_sach")
'Hin th thng tin m t tm tt ni dung
Label
HyperLink
LinkButton
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 82/174
Dim lblMt As Label
lblMt = e.Item.FindControl("lblMo_ta")
lblMt.Text = Left(e.Item.DataItem("Mo_ta"), 200) & "..."
'Hin th hnh nh minh ha
Dim hplHinh As HyperLink
hplHinh = e.Item.FindControl("hplHinh_mh")
hplHinh.ImageUrl = "../Data_Pic/" & e.Item.DataItem("Hinh_minh_hoa")
'Hin th gi bn sch
Dim lblGia As Label
lblGia = e.Item.FindControl("lblGia_ban")
lblGia.Text = e.Item.DataItem("Don_gia")
End Sub
Kt qu hin th thng tin sch trn trang Web
Kt qu trn trang Web
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 83/174
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 129
II.2. Cp nht d liu vi DataList
Ngoi vic hin th d liu, DataList cng h tr cc thao tc cp nht d liu. thc hin
chc
nng cp nht d liu vi DataList, chng ta cn phi thit k thm vng EditIemTemplate cho
DataList. (xem hnh)
II.2.1. Cc bc x l
a. Thit k
Thit k c 2 vng ItemTemplate v EditItemTemplate. Thc hin cc thao tc lin kt d liu
cho
cc iu khin trong vng EditItemTemplate thng qua ca s thuc tnh tng t nh trong
ItemTemplate.
Ch : Chng ta hon ton c th thc hin vic lin kt d liu trong s kin ItemDataBound.
Chn chc nng DataBindings cho n gi
Lin kt d liu vi ct Don_gia
Yu cu thit k
Tn iu khin Thit lp thuc tnh
Hieu_chinh: ImageButton CommandName: Edit
Ghi_nhan: ImageButton CommandName: Update
CommandArgument:
DataBinder.Eval(Container, "DataItem.Ms")
Lu li m s ca sch ang hiu chnh.
Bo_qua: ImageButton CommandName: Cancel
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 85/174
b. X l lnh cp nht d liu
X l cc s kin EditCommand, CancelCommand, UpdateCommand thc hin/b qua vic
thay
i d liu.
Private Sub Page_Load(, e ) Handles MyBase.Load
'Put user code to initialize the page here
If Not IsPostBack Then
Lien_ket_du_lieu()
End If
End Sub
Private Sub dtlHang_hoa_EditCommand(, e )
dtlHang_hoa.EditItemIndex = e.Item.ItemIndex
Lien_ket_du_lieu()
End Sub
Private Sub dtlHang_hoa_CancelCommand(, e )
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 130
dtlHang_hoa.EditItemIndex = -1
Lien_ket_du_lieu()
End Sub
Private Sub dtlHang_hoa_UpdateCommand(, e )
'X l cp nht d liu ti y
Dim Don_gia_sua As TextBox
Don_gia_sua = e.Item.FindControl("Don_gia_sua")
'Don_gia_sua.Text Tr v n gi mi c sa
'
dtlHang_hoa.EditItemIndex = -1
Lien_ket_du_lieu()
End Sub
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 86/174
DataList ch ang hiu chnh
III. iu khin Repeater
Nh 2 iu khin DataList & DataGrid, iu khin Repeater cng c dng hin th d liu.
Tuy
nhin, hin th d liu, chng ta phi t thit k hnh thc hin th thng qua cc tag HTML.
iu khin Repeater c cc tag sau:
<HeaderTemplate></HeaderTemplate> (ty chn)
Qui nh hnh thc hin th cho tiu . (Ch xut hin 1 ln, pha trn ca iu khin)
<ItemTemplate></ItemTemplate> (Bt buc phi c)
Qui nh hnh thc hin th cho cc mc d liu trong iu khin.
<AlternatingItemTemplate></AlternatingItemTemplate> (ty chn)
Qui nh hnh thc hin th cho cc mc d liu trong iu khin. Ni dung c qui nh trong
cp tag ny s hin th xen k vi cc ni dung trong cp tag <ItemTemplate>
</ItemTemplate>
<SeparatorTemplate></SeparatorTemplate> (ty chn)
Qui nh hnh thc hin th gia cc dng d liu
<FooterTemplate></FooterTemplate> (ty chn)
Qui nh hnh thc hin th cho tiu di. (Ch xut hin 1 ln, pha di ca iu khin)
V d:
Bc 1. To mi iu khin Repeater: rptKhach_hang vo trang Web.
iu khin rptKhach_hang trn trang Web
Bc 2. Chuyn qua xem trang Web di dng HTML
<asp:Repeater id="rptKhach_hang" runat="server">
<asp:Repeater>
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 131
Bc 3. B sung cc tag sau
<asp:Repeater id="rptKhach_hang" runat="server">
<HeaderTemplate>
<table border="1" bordercolor="SteelBlue">
<tr>
<td width="130" align="center">
<strong>H khch hng</strong>
</td>
<td width="100" align="center">
<strong>Tn khch hng</strong>
</td>
<td width="120" align="center">
<strong>a ch</strong>
</td>
<td width="80" align="center">
<strong>in thoi</strong>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<%# Container.DataItem("Ho_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Ten_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Dia_chi")%>
</td>
<td>
<%# Container.DataItem("Dien_thoai") %>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr bgcolor="GhostWhite">
<td>
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 132
<%# Container.DataItem("Ho_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Ten_khach_hang") %>
</td>
<td>
<%# Container.DataItem("Dia_chi")%>
</td>
<td>
<%# Container.DataItem("Dien_thoai") %>
</td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
Bc 4. Xem li mn hnh thit k
Bc 5. To ngun d liu cho iu khin
Private Sub Page_Load() Handles MyBase.Load
'To d liu cho i tng DataTable: dtKhach_hang
rptKhach_hang.DataSource = dtKhach_hang
rptKhach_hang.DataBind()
End Sub
Bc 6. Thi hnh ng dng
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 90/174
IV. Cc v d m rng
IV.1. X l o hng sp xp trong DataGrid
V d minh ha di y x l o hng sp xp trong DataGrid. ng thi, trong v d ny,
chng ti thc hin lin kt d liu qua i tng DataView thc hin sp xp trn ngun
d
liu.
Private Sub Page_Load(, e ) Handles MyBase.Load
If Not IsPostBack Then Lien_ket_du_lieu()
End Sub
Public Sub Lien_ket_du_lieu()
Dim dtKhach_hang As DataTable = Doc_ds_khach_hang()
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 133
Dim dvKhach_hang As New DataView(dtKhach_hang)
dvKhach_hang.Sort = ViewState("SortExpression")
If ViewState("SortAscending") = "false" Then
dvKhach_hang.Sort &= " desc"
End If
dtgKhach_hang.DataSource = dvKhach_hang
dtgKhach_hang.DataBind()
End Sub
Public Function Doc_ds_khach_hang() As DataTable
Dim sKet_noi As String
sKet_noi = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" & _
Server.MapPath("..\Data\QlBanSach.mdb")
Dim cnKet_noi As New OleDbConnection(sKet_noi)
Dim dsCSDL As New DataSet
'M v ng kt ni ngay khi thc hin xong
cnKet_noi.Open()
Dim daBo_doc_ghi As New OleDbDataAdapter _
("Select * From KHACH_HANG", cnKet_noi)
cnKet_noi.Close()
daBo_doc_ghi.Fill(dsCSDL, "KHACH_HANG")
Return dsCSDL.Tables("KHACH_HANG")
End Function
Private Sub dtgKhach_hang_SortCommand(, e )
Dim sSap_xep As String = ViewState("SortExpression")
Ti liu hng dn ging dy
Hc phn 3 - Lp trnh ng dng web vi ASP.NET Trang 91/174
Dim sHuong As String = ViewState("SortAscending")
ViewState("SortExpression") = e.SortExpression
If (e.SortExpression = sSap_xep) Then
ViewState("SortAscending") = IIf(sHuong = "false", "true", "false")
End If
Lien_ket_du_lieu()
End Sub
IV.2. To biu tng sp xp trong ct cho DataGrid
Sp xp tng dn theo tn khch hng
Private Sub dtgKhach_hang_ItemDataBound(, e )
If e.Item.ItemType = ListItemType.Header Then
Dim sSap_xep As String = ViewState("SortExpression")
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 134
Dim sHuong As String = ViewState("SortAscending")
Dim sKy_hieu As String = IIf(sHuong = "false", " 6", " 5")
Dim i%
For i = 0 To dtgKhach_hang.Columns.Count - 1
If sSap_xep = _
dtgKhach_hang.Columns(i).SortExpression Then
Dim cell As TableCell = e.Item.Cells(i)
Dim lblKy_hieu As New Label
lblKy_hieu.Text = sKy_hieu
lblKy_hieu.Font.Name = "webdings"
lblKy_hieu.Font.Size = FontUnit.XSmall
cell.Controls.Add(lblKy_hieu)
End If
Next
End If
End Sub
IV.3. nh dng hnh thc hin th cho dng d liu tha iu
kin trn DataGrid
Trong v d sau, chng ta thc hin t mu cho nhng khch hng c tn bt u bng k t
H.
Private Sub dtgKhach_hang_ItemDataBound(, e )
If e.Item.ItemIndex < 0 Then Exit Sub
Dim sTen_kh As String
sTen_kh = e.Item.DataItem("Ten_khach_hang")
'Tin hnh kim tra iu kin,
'nu tha thc hin cc x l nh dng
If sTen_kh.StartsWith("H") Then
e.Item.BackColor = Color.LemonChiffon
e.Item.Cells(1).Font.Bold = True
End If
End Sub
T mu nhng khch hng c tn bt u bng k t H
IV.4. To hiu ng chn khi r chut qua cc dng d liu
Private Sub dtgKhach_hang_ItemDataBound(, e )
If e.Item.ItemIndex < 0 Then Exit Sub
e.Item.Attributes("onMouseOver") = _
"this.style.backgroundColor='#FFF8DC'"
e.Item.Attributes("onMouseOut") = _
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 135
"this.style.backgroundColor=''"
End Sub
To hiu ng chn dng d liu trn li
Kinh nghim ging dy:
Cc iu khin lin kt d liu (DataGrid, DataList, Repeater) h tr kh tt vic hin
th d liu trn trang web.
Do h tr kh nhiu chc nng, gio vin nn hng dn hc vin s dng tun t
tng chc nng m cc iu khin h tr. Sau khi nm vng cc thao tc ca tng
chc nng, hc vin c th phi hp cc chc nng ln cng mt bi tp.

Bi Ging Mn Lp Trnh Website ASP.Net


Bin san: Dng Thnh Pht Trang 136
TI LIU THAM KHO
1. MSDN Library - April 2003 & MSDN Library - July 2005
2. MSDN Traning: Developing Microsoft ASP.NET Web Applications Using Visual Studio.NET
3. MSDN Traning: Programming with Microsoft ADO.NET
4. ASP.NET Web Developers Guide
5. ASP.NET By Example [Steven A. Smith]
6. Developing Web Applications with Visual Basic .NET and ASP.NET [John Alexander, Billy
Hollis]
7. Programming ASP.NET, 2nd Edition [Dan Hurwitz, Jesse Liberty]
8. Inside ASP.NET [Scott Worley]
9. ASP NET Bible [Mridula Parihar]
10. ASP.NET for Web Designers [Peter Ladka]
11. Professional ADO.NET Programming [Wrox]
12. Cascading Style Sheets - The Designer's Edge [Molly E. Holzschlag ]
13. JavaScript Bible - Gold Edition [Danny Goodman]
14. Real World Web Services [Yasser Shohoud]
15. Trang ch ASP.Net: http://www.asp.net
16. Trng hc trc tuyn ca W3C: http://www.w3schools.com
1. i tng transaction c to bi phng thc no :
a. NewTransaction
b. StartTransaction
c. BeginTransaction
d. CreateTransaction
2. iu no sau y khng phi l u im ca Server control so vi HTML control :
a. Duy tr d liu trn control
b. Hin th khng ph thuc vo trnh duyt
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 137
c. C cc s kin ring bit
d. Tc hin th nhanh
3. Phng thc di chuyn no sau y cho php gi li thng tin t web form xut pht :
a. Respose.Redirect
b. Server.Transfer
c. Server.Execute
d. C 3 phng thc trn
4. ng dng web khng s dng cc control no :
a. Windows controls
b. Server controls
c. HTML controls
d. User controls
e. Custom controls
5. Phng thc no sau y chc chn khng lm thay i d liu :
a. ExecuteNonQuery
b. ExecuteReader
c. ExecuteScalar
d. ExecuteReadOnly
6. Lnh SQL no dng thm mt dng mi vo mt bng trong c c d liu :
a. INSERT NEW
b. ADD ROW
c. INSERT ROW
d. INSERT INTO
7. Chng ta s dng giao dch khi :
a. Lp trnh cc ng dng thng mi in t
b. Lp trnh cc ng dng c s d liu phc tp
c. Thc hin nhiu lnh c s d liu nh mt lnh
d. C 3 cu trn u ng
8. Mc c lp (isolation level) cao nht ca mt giao dch l :
a. RepeatableRead
b. Serializable
c. Chaos
d. ReadUncommitted
e. ReadCommitted
9. Thnh phn no khng phi l thuc tnh ca i tng Dat Adapter :
a. SQLCommand
b. DeleteCommand
c. UpdateCommand
d. InsertCommand
10. Yu t no sau y khng phi l s khc bit gia Web form v Windows form :
a. Cc loi control trn form
b. Chu trnh sng
c. Giao din ngi dng
d. Kh nng lu tr d liu
11. Cc bc to ni lu tr mt ng dng ASP.Net l :
a. To th mc vt l, to th mc o, to subweb
b. To th mc o, to subweb, to th mc vt l
c. To th mc o, to th mc vt l, to subweb
d. To th mc vt l, to subweb, to th mc o
12. Cc s kin Application v Section din ra theo trnh t no :
a. Application_Start, Application_End, Section_Start, Section_End
b. Application_Start, Section_Start, Section_End, Application_End
c. Section_Start, Application_Start, Application_End, Section_End
d. Section_Start, Section_End, Application_Start, Application_End
13. Cc trnh t trn web form din ra theo trnh t no :
a. Page_Init, Page_Load, Page_Unload, Page_Dispose
b. Page_Load, Page_Init, Page_Unload, Page_Dispose
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 138
c. Page_Load, Page_Unload, Page_Init, Page_Dispose
d. Page_Load, Page_Init, Page_Dispose, Page_Unload
14. Cookie l :
a. Mt chui k t trong dng a ch web
b. Mt file nm trn server
c. Mt file nm trn Client
d. Mt file XML
15. ng dng email nh Outlook Express l loi ng dng :
a. Internet
b. Web
c. Ngang hng (peer-to-peer)
d. C 3 cu trn u sai
16. ng dng web :
a. Ch chy trn mt my n
b. C kin trc Client/Server
c. L tt c ng dng c s dng Internet
d. C 3 cu trn u ng
17. a ch URL ca ng dng web c xc nh bi :
a. Th mc o ca ng dng
b. Th mc vt l ca ng dng
c. Tn ca Project
d. C 3 cu u sai
18. Ta c th lu tr d liu chung cho tt c ngi dng :
a. Bin Application
b. Bin Section
c. View State
d. C 3 ni ni trn
19. D liu trn cc control ca web form c lu tr :
a. View state
b. Bin Application
c. Bin Section
d. Cc bin ton cc
20. T kha no khng phi l t kha tha k trong C# :
a. new
b. protected
c. inherit
d. override
21. Dng lnh no sau y di chuyn n trang web hello.html :
a. Server.Transfer ("hello.html")
b. Response.Redirect ("hello.html")
c. Server.Execute ("hello.html")
d. Tt c u ng
22. Control Kim chng no khng c trong ASP.NET :
a. RequiredValidator
b. CompareValidator
c. RangeValidator
d. CustomValidator
23. Phng thc no sau y ca Data Set dng cp nht d liu :
a. Fill
b. AcceptChanges
c. RejectChange
d. Update
24. Lnh dng hon tt mt giao dch l :
a. Finish
b. Commit
c. Rollback
d. Update
Bi Ging Mn Lp Trnh Website ASP.Net
Bin san: Dng Thnh Pht Trang 139
25. Pht biu no sai :
a. Phn thc thi ca ng dng web chy di s iu khin ca web server
b. Thng tin c truyn t server n client bng giao thc FTP
c. ng dng web khng cn phi c ci t trn pha client
d. Dch v web l mt loi ng dng Internet
26. Tn ca mt th mc o c dng :
a. c:\myproject
b. http://www.mycompany.com/myproject
c. aspnet://myproject
d. c:\myproject\aspnet

You might also like