You are on page 1of 139

Bi Ging Mn Lp Trnh Website ASP.

Net

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
Bin san: Dng Thnh Pht Trang 1

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 2

Bi Ging Mn Lp Trnh Website ASP.Net

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,

Bin san: Dng Thnh Pht

Trang 3

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 4

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 5

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 6

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 7

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 8

Bi Ging Mn Lp Trnh Website ASP.Net

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
Trang 9

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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


Trang 10

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

Bin san: Dng Thnh Pht

Trang 11

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 12

Bi Ging Mn Lp Trnh Website ASP.Net

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 Manager Administratrive tools M mc IIS

o Click phi mc Default Document

Bin san: Dng Thnh Pht

Trang 13

Bi Ging Mn Lp Trnh Website ASP.Net

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 Khai bo nhn cho th mc o (Myweb)

Nextt

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)

Bin san: Dng Thnh Pht

Trang 14

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 15

Bi Ging Mn Lp Trnh Website ASP.Net

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)

Bin san: Dng Thnh Pht

Trang 16

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Trang 17

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 18

Bi Ging Mn Lp Trnh Website ASP.Net

5. Phn loi tp tin trong ASP.Net ASP.Net ASP .asax .asa .ascx .asmx .aspx .config .cs .js .vb Din gii 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. Cc iu khin do ngi dng t to c lu tr vi phn m rng l ascx. Tp tin Web Service ca ng dng ASP.Net Phn m rng ca trang ASP.Net Tp tin cu hnh ng dng theo nh dng XML. Web.config cha hu ht cc cu hnh ca ng dng Tp tin m ngun vit theo ngn ng C# Tp tin m ngun ca Jscript Tp tin m ngun vit theo ngn ng VB.Net

.asp

.js

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.
Trang 19

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 20

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 21

Bi Ging Mn Lp Trnh Website ASP.Net

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 (ID) AccessKey Attributes BackColor BorderColor BorderStyle CssClass Enabled Font ForeColor Chui String Kiu ngha Qui nh tn ca iu khin. Tn ca iu khin l duy nht. Qui nh k t di chuyn nhanh n iu khin - k t x l phm nng. Qui nh mu nn ca iu khin. Qui nh mu ng vin ca iu khin. Qui nh kiu ng vin ca iu khin. Qui nh rng ca ng vin. Qui nh hnh thc hin th ca iu khin qua tn CSS. Qui nh iu khin c c hin th hay khng. Gi tr mc nh ca thuc tnh ny l True c php hin th. Qui nh Font hin th cho iu khin Qui nh mu ch hin th trn iu khin
Trang 22

AttributeCollection Tp hp cc thuc tnh ca iu khin HTML Color Color BorderStyle String Boolean FontInfo Color

BorderWidth Unit

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

Height ToolTip Width 1. Label

Unit String Unit

Qui nh chiu cao ca iu khin Dng ch s hin th khi r chut vo iu khin. Qui nh rng ca iu khin.

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
Bin san: Dng Thnh Pht Trang 23

Bi Ging Mn Lp Trnh Website ASP.Net

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. Thuc tnh Text CommandName ngha Chui vn bn hin th trn iu khin. Tn lnh. c s dng trong s kin Command.

Cc thuc tnh chung ca Button, ImageButton, LinkButton

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

Bin san: Dng Thnh Pht

Trang 24

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 25

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Trang 26

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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 SelectionMode=Multiple ; Rows=4 khin danh sch lstKhu_dl: 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:

Bin san: Dng Thnh Pht

Trang 27

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 28

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Bin san: Dng Thnh Pht Trang 29

Bi Ging Mn Lp Trnh Website ASP.Net

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:

Bin san: Dng Thnh Pht

Trang 30

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 31

Bi Ging Mn Lp Trnh Website ASP.Net

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: >
Bin san: Dng Thnh Pht Trang 32

Bi Ging Mn Lp Trnh Website ASP.Net

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 [minmax] 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.

Bin san: Dng Thnh Pht

Trang 33

Bi Ging Mn Lp Trnh Website ASP.Net

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
Trang 34

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 35

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 36

Bi Ging Mn Lp Trnh Website ASP.Net

Cc thng bo li xut hin qua hp thoi khi d liu nhp khng hp l:

Nu tt c u hp l

Bin san: Dng Thnh Pht

Trang 37

Bi Ging Mn Lp Trnh Website ASP.Net

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) <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>
Bin san: Dng Thnh Pht Trang 38

<Advertisements>

Bi Ging Mn Lp Trnh Website ASP.Net

<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. AdCreated: Xy ra khi iu khin to ra cc qung co. Bc 1. Thit k giao din

b. S kin V d: To Website Quangcao (To Qung co s dng iu khin AdRotator)

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

Bin san: Dng Thnh Pht

Trang 39

Bi Ging Mn Lp Trnh Website ASP.Net

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:

Bin san: Dng Thnh Pht

Trang 40

Bi Ging Mn Lp Trnh Website ASP.Net

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. 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

b. S kin

V d: To trang Calendard Bc 1: To Calendard vo trang

Bin san: Dng Thnh Pht

Trang 41

Bi Ging Mn Lp Trnh Website ASP.Net

Bc 2: Chn Auto Format (Chn mu nh dng)

Khi thit k X l s kin: protected void Page_Load(object sender, EventArgs e) } protected void Calendar1_SelectionChanged1(object sender, EventArgs e) } { lbThongbao.Text ="Bn ang chn " + Calendar1.SelectedDate.ToString("dd/MM/yyyy"); { lbNgay.Text = "Hm nay ngy " + DateTime.Today.ToString ("dd/MM/yyyy");

Bin san: Dng Thnh Pht

Trang 42

Bi Ging Mn Lp Trnh Website ASP.Net

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 Enable FileBytes FileContent FileName HasFile ngha Cho php bn v hiu ho iu khin FileUpload. Cho php ly ni dung file c upload nh mt mng Byte. Cho php ly ni dung ca file c upload theo dng d liu Ly tn file c Upload 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.

Bin san: Dng Thnh Pht

Trang 43

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Trang 44

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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:

Bin san: Dng Thnh Pht

Trang 45

Bi Ging Mn Lp Trnh Website ASP.Net

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. 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. ActiveViewChanged: Xy ra khi iu khin View c la chn

iu khin MultiView h tr hai phng thc.

V MultiView h tr s kin sau: 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

Bin san: Dng Thnh Pht

Trang 46

Bi Ging Mn Lp Trnh Website ASP.Net

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){
Bin san: Dng Thnh Pht Trang 47

Bi Ging Mn Lp Trnh Website ASP.Net

MultiView1.ActiveViewIndex = 0; } } </script> Thi hnh:

Bin san: Dng Thnh Pht

Trang 48

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 49

Bi Ging Mn Lp Trnh Website ASP.Net

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:

Bin san: Dng Thnh Pht

Trang 50

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 51

Bi Ging Mn Lp Trnh Website ASP.Net

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)

Bin san: Dng Thnh Pht

Trang 52

Bi Ging Mn Lp Trnh Website ASP.Net

Kt qu khi thi hnh

Bin san: Dng Thnh Pht

Trang 53

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 54

Bi Ging Mn Lp Trnh Website ASP.Net

To kt ni CSDL mi

Bin san: Dng Thnh Pht

Trang 55

Bi Ging Mn Lp Trnh Website ASP.Net

Khai bo cc thng s cho SQLServer v chn CSDL cn kt ni

Kim tra kt qu 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
Bin san: Dng Thnh Pht Trang 56

Bi Ging Mn Lp Trnh Website ASP.Net

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
Trang 57

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 58

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 59

Bi Ging Mn Lp Trnh Website ASP.Net

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 ,

Bin san: Dng Thnh Pht

Trang 60

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 61

Bi Ging Mn Lp Trnh Website ASP.Net

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:

Bin san: Dng Thnh Pht

Trang 62

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 63

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 64

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 65

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 66

Bi Ging Mn Lp Trnh Website ASP.Net

Ta chn : Specify a Custom SQL satament or stored procedure

Tip tc chn Stored Procedure cn kt ni.

Bin san: Dng Thnh Pht

Trang 67

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 68

Bi Ging Mn Lp Trnh Website ASP.Net

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)

Bin san: Dng Thnh Pht

Trang 69

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 70

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 71

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 72

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 73

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 74

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 75

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 76

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 77

Bi Ging Mn Lp Trnh Website ASP.Net

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

Kt ni ngun d liu Chn them ct mi iu chnh cc ct To cc ct ty bin 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

Bin san: Dng Thnh Pht

Trang 78

Bi Ging Mn Lp Trnh Website ASP.Net

o Vi CSDL Access Vi CSDL Access

Tm chn tp tin 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.

Bin san: Dng Thnh Pht

Trang 79

Bi Ging Mn Lp Trnh Website ASP.Net

Khai bo tham s iu kin

Ch nh sp xp

Chn Test Query kim tra kt qu ngun d liu. Chn Finish han thnh o Vi CSDL SQLServer

Bin san: Dng Thnh Pht

Trang 80

Bi Ging Mn Lp Trnh Website ASP.Net

Vi CSDL SQLServer 2000/2005

To kt ni CSDL mi

Khai bo cc thng s v chn CSDL cn kt ni

Bin san: Dng Thnh Pht

Trang 81

Bi Ging Mn Lp Trnh Website ASP.Net

Kim tra kt qu kt ni

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.

Khai bo tham s iu kin

Ch nh sp xp

Bin san: Dng Thnh Pht

Trang 82

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 83

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Bin san: Dng Thnh Pht Trang 84

Bi Ging Mn Lp Trnh Website ASP.Net

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. 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

6. Thit lp cc thuc tnh nh dng li

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


Trang 85

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 86

Bi Ging Mn Lp Trnh Website ASP.Net

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).

Bin san: Dng Thnh Pht

Trang 87

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Bin san: Dng Thnh Pht Trang 88

Bi Ging Mn Lp Trnh Website ASP.Net

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)
Trang 89

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 90

Bi Ging Mn Lp Trnh Website ASP.Net

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


Bin san: Dng Thnh Pht Trang 91

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 92

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 93

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 94

Bi Ging Mn Lp Trnh Website ASP.Net

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
Trang 95

Bin san: Dng Thnh Pht

Bi Ging Mn Lp Trnh Website ASP.Net

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); } }

Bin san: Dng Thnh Pht

Trang 96

Bi Ging Mn Lp Trnh Website ASP.Net

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 }

Bin san: Dng Thnh Pht

Trang 97

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 98

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 99

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Bin san: Dng Thnh Pht Trang 100

Bi Ging Mn Lp Trnh Website ASP.Net

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. . .:
Bin san: Dng Thnh Pht Trang 101

Bi Ging Mn Lp Trnh Website ASP.Net

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>)
Bin san: Dng Thnh Pht Trang 102

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 103

Bi Ging Mn Lp Trnh Website ASP.Net

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);

Bin san: Dng Thnh Pht

Trang 104

Bi Ging Mn Lp Trnh Website ASP.Net


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!"; }

Bin san: Dng Thnh Pht

Trang 105

Bi Ging Mn Lp Trnh Website ASP.Net

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.


Bin san: Dng Thnh Pht Trang 106

Bi Ging Mn Lp Trnh Website ASP.Net


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); }

Bin san: Dng Thnh Pht

Trang 107

Bi Ging Mn Lp Trnh Website ASP.Net

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(); } }

Bin san: Dng Thnh Pht

Trang 108

Bi Ging Mn Lp Trnh Website ASP.Net

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 Kt ni ngun d liu

Thit lp thuc tnh

Bin san: Dng Thnh Pht

Trang 109

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 110

Bi Ging Mn Lp Trnh Website ASP.Net

Chn lai ngun d liu (DataBase) t tn cho ngun d liu (Sieuthi)

Chn New Connection Chn Microsoft SQL Server Continue

Bin san: Dng Thnh Pht

Trang 111

Bi Ging Mn Lp Trnh Website ASP.Net

Khai bo cc thng s ca CSDL => Chn Test Connection kim tra. Chn Ok ng kt ni.

Bin san: Dng Thnh Pht

Trang 112

Bi Ging Mn Lp Trnh Website ASP.Net

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:

Bin san: Dng Thnh Pht

Trang 113

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 114

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 115

Bi Ging Mn Lp Trnh Website ASP.Net

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.

Bin san: Dng Thnh Pht

Trang 116

Bi Ging Mn Lp Trnh Website ASP.Net

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. Trang Borders qun l vic k khung vin cho li. e. Trang Borders (Khung vin)

Bin san: Dng Thnh Pht

Trang 117

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 118

Bi Ging Mn Lp Trnh Website ASP.Net

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. l s kin SortCommand(ByVal X 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 source As Object, ByVal e As

Bin san: Dng Thnh Pht

Trang 119

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 120

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 121

Bi Ging Mn Lp Trnh Website ASP.Net

 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
Bin san: Dng Thnh Pht Trang 122

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 123

Bi Ging Mn Lp Trnh Website ASP.Net

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 )
Bin san: Dng Thnh Pht Trang 124

Bi Ging Mn Lp Trnh Website ASP.Net

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.
Bin san: Dng Thnh Pht Trang 125

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 126

Bi Ging Mn Lp Trnh Website ASP.Net

 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
Bin san: Dng Thnh Pht Trang 127

Bi Ging Mn Lp Trnh Website ASP.Net

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
Bin san: Dng Thnh Pht Trang 128

Bi Ging Mn Lp Trnh Website ASP.Net

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 )
Bin san: Dng Thnh Pht Trang 129

Bi Ging Mn Lp Trnh Website ASP.Net

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>
Bin san: Dng Thnh Pht Trang 130

Bi Ging Mn Lp Trnh Website ASP.Net

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>
Bin san: Dng Thnh Pht Trang 131

Bi Ging Mn Lp Trnh Website ASP.Net

<%# 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()
Bin san: Dng Thnh Pht Trang 132

Bi Ging Mn Lp Trnh Website ASP.Net

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")
Bin san: Dng Thnh Pht Trang 133

Bi Ging Mn Lp Trnh Website ASP.Net

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") = _
Bin san: Dng Thnh Pht Trang 134

Bi Ging Mn Lp Trnh Website ASP.Net

"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. 

Bin san: Dng Thnh Pht

Trang 135

Bi Ging Mn Lp Trnh Website ASP.Net

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

Bin san: Dng Thnh Pht

Trang 136

Bi Ging Mn Lp Trnh Website ASP.Net


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

Bin san: Dng Thnh Pht

Trang 137

Bi Ging Mn Lp Trnh Website ASP.Net


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

Bin san: Dng Thnh Pht

Trang 138

Bi Ging Mn Lp Trnh Website ASP.Net


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

Bin san: Dng Thnh Pht

Trang 139

You might also like