Bai Giang Khoa ASP.net - Khoa 2009-Color

194
Tài liệu khóa học lập trình web với ASP.NET – Biên soạn: Trung tâm Hưng Yên Aptech MỤC LỤC BÀI SỐ 1: Tạo trang web với HTML......................5 I. Lý thuyết..........................................5 1.1 Giới thiệu.............................................5 1.2 Danh sách các phần tử HTML thường dùng.................5 II. Bài tập thực hành.................................7 1. Yêu cầu:................................................7 2. Hướng dẫn...............................................7 3. Minh hoạ mẫu............................................8 4. Ghi chú.................................................9 BÀI SỐ 2: Tạo trang web động với DHTML và JavaScript. .9 I. Lý thuyết.........................................10 1. Đưa câu lệnh javascript vào trang web..................10 2. Đưa câu lệnh javascript vào từ một file riêng biệt.....11 3. Truy cập các phần tử HTML bằng câu lệnh Javascript.....12 4. Xây dựng hàm trong Javascript..........................13 5. Một số hàm thông dụng của Javascript...................14 II. Thực hành........................................14 1. Yêu cầu................................................14 2. Hướng dẫn..............................................14 3. Minh hoạ mẫu...........................................14 4. Ghi chú................................................17 BÀI 3: THAY ĐỔI NỘI DUNG TRANG WEB BẰNG CSS VÀ JS ĐỊNH DẠNG TRANG WEB VỚI CSS...............................17 I. Lý thuyết.........................................17 1. Định dạng CSS ngay trong định nghĩa phần tử (Gọi là Inline)...................................................17 2. Định dạng CSS thông qua lớp............................18 II. Thực hành........................................20 1. Yêu cầu................................................20 2. Hướng dẫn..............................................20 3. Minh hoạ mẫu...........................................20 4. Ghi chú................................................24 BÀI 4 (Tiếp): THAY ĐỔI NỘI DUNG TRANG WEB BẰNG CSS VÀ JS ĐỊNH DẠNG TRANG WEB VỚI CSS.......................25 V2.0 – http://www.aptech.utehy.vn; [email protected]; Tel: 03213- 713.319 P.1

Transcript of Bai Giang Khoa ASP.net - Khoa 2009-Color

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

MC LCI. L thuyt.............................................................................................................51.1 Gii thiu.......................................................................................................................5 1.2 Danh sch cc phn t HTML thng dng..................................................................5

II. Bi tp thc hnh..............................................................................................71. Yu cu:...........................................................................................................................7 2. Hng dn........................................................................................................................8 3. Minh ho mu..................................................................................................................8 4. Ghi ch.............................................................................................................................9

BI S 2: To trang web ng vi DHTML v JavaScript...............................................10 I. L thuyt...........................................................................................................101. a cu lnh javascript vo trang web..........................................................................10 2. a cu lnh javascript vo t mt file ring bit.........................................................11 3. Truy cp cc phn t HTML bng cu lnh Javascript.................................................12 4. Xy dng hm trong Javascript......................................................................................13 5. Mt s hm thng dng ca Javascript..........................................................................14

II. Thc hnh........................................................................................................141. Yu cu..........................................................................................................................14 2. Hng dn......................................................................................................................14 3. Minh ho mu................................................................................................................14 4. Ghi ch...........................................................................................................................17

BI 3: THAY I NI DUNG TRANG WEB BNG CSS V JS NH DNG TRANG WEB VI CSS..............................................................17 I. L thuyt...........................................................................................................171. nh dng CSS ngay trong nh ngha phn t (Gi l Inline)......................................17 2. nh dng CSS thng qua lp........................................................................................18

II. Thc hnh........................................................................................................201. Yu cu..........................................................................................................................20 2. Hng dn......................................................................................................................20 3. Minh ho mu................................................................................................................21 4. Ghi ch...........................................................................................................................24

BI 4 (Tip): THAY I NI DUNG TRANG WEB BNG CSS V JS NH DNG TRANG WEB VI CSS..............................................................25 I. L thuyt...........................................................................................................251. Tham chiu n mt phn t trong trang web...............................................................25 2. Tham chiu n mt thuc tnh ca phn t..................................................................26 3. Thay i ni dung ca mt phn t...............................................................................26

II. Thc hnh........................................................................................................271 Yu cu...........................................................................................................................27 2 Hng dn.......................................................................................................................28 3 Minh Ho mu................................................................................................................28 V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.1

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 4 Ghi ch............................................................................................................................33

BI S 5: ASP.NET v Web form.....................................................................33 I. L thuyt...........................................................................................................331. M hnh lp trnh pha my ch.....................................................................................33 2 C ch x l file ASP.NET pha my ch......................................................................36 3 Mt s v d minh ha....................................................................................................39 4 Webform trong ASP.NET...............................................................................................42 5 Tm hiu cu trc trang ASP.NET..................................................................................42 6. Code behind v vit code pha Server............................................................................45 7. HTML Server Controls v Web controls.......................................................................46

II. Thc hnh........................................................................................................471. Yu cu..........................................................................................................................47 2. Hng dn......................................................................................................................48 3. Minh ho mu................................................................................................................48 4. Ghi ch...........................................................................................................................53

BI 6: Cc i tng trong ASP.NET...............................................................54 I. L thuyt...........................................................................................................541. Request Object...............................................................................................................54 2 Response Object..............................................................................................................57 3 Server Object...................................................................................................................58 4 Session Object.................................................................................................................59 5 Application Object..........................................................................................................59

II. Thc hnh........................................................................................................601. Bi 1: To mt trang Login............................................................................................60 2. Bi 2: To mt trang m s lng ngi truy cp. .....................................................64

BI 7: CNG NGH ADO.NET........................................................................66 I. L thuyt...........................................................................................................661. Gii thiu chung ............................................................................................................66 2. Kin trc ca ADO.NET................................................................................................67 3. Cc lp thao tc vi CSDL: Connection, Command,................................................68

II. THC HNH..................................................................................................811. To c s d liu ...........................................................................................................81 2. Nhp d liu cho bng. .................................................................................................82 3. Hin th d liu trong bng ln trnh duyt....................................................................85 4. Cp nht d liu bng DataSet v DataAdapter.............................................................86

BI 8: Tm hiu v ng dng c ch Data Binding...........................................88 I. L thuyt...........................................................................................................881 Gii thiu DataBinding...................................................................................................88 2 Data Binding...................................................................................................................88 3. Cc iu khin Data Source (Data source controls).......................................................92

II. THC HNH................................................................................................101 BI 9: Lm vic vi GridView..........................................................................105 I. L thuyt.........................................................................................................105V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.2

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 1. Gii thiu tng quan.....................................................................................................105 2. Tm hiu lp GridView ...............................................................................................105 3. Cc tnh nng h tr ca GridView.............................................................................109 4. To cc ct ty bin HyperLink, BoundColunm.....................................................113 5. To v x l cc ct Select, Edit, Delete, Update....................................................116

II. Thc hnh......................................................................................................121 BI 10: S dng Templates..............................................................................128 I. L thuyt.........................................................................................................1281. Gii thiu tng quan.....................................................................................................128 2. Cc iu khin h tr Templates.................................................................................128 3. Repeater control, DataList control, GridView control.................................................129

II. THC HNH................................................................................................1361. Bi 1: Hin th danh sch cn b .................................................................................136 2. Bi 2: B sung thm trng vo bng..........................................................................138 3 Bi 3: Hin th danh sch cn b dng chi tit. ............................................................139 4. Bi 4: Hin th danh sch ngi dng di dng Flow (tuyn tnh) ...........................140 Bi 5: Hin th thng tin km Hyperlink..........................................................................144 Bi 6: Thc hin phn trang.............................................................................................145

PH LC...........................................................................................................147 I. NG GI WEBSITE..................................................................................147 II. CI T H THNG IIS H TR ASP.NET WEBSITE......................1471. Ci t IIS....................................................................................................................147 2. Ci t .NET Framework.............................................................................................147

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.3

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

TRUNG TM HNG YN APTECHa ch in thoi E-mail Website : : : : Tng 2, Nh A i hc SPKT Hng Yn 0321-713.319; Fax: 0321-713.015 [email protected]; http://www.aptech.utehy.vn

TI LIU KHA HC LP TRNH ASP.NETBin son: - Nguyn Minh Qu - L Quang Li

HNG YN 7/2009

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.4

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

PHN I C bn v HTML, DHTML, JavaScriptBI S 1: To trang web vi HTMLMc tiu: Kt thc bi hc, sinh vin c th To c trang web tnh trn notepad/ HTML Editor nh dng ni dung trang web bng cc phn t HTML c bn Thao tc c vi phn t bng (Table), , ,....

Ni dung

I. L thuyt1.1 Gii thiuMt trang web khi c hin th trn trnh duyt (IE; FireFox; Netscape,...) v bn cht c to t cc cp th (tag) c bit. Cc th ny s ch dn cho trnh duyt bit nn hin th ni dung nh th no. V d cp th ... s ch dn cho trnh duyt phi in m ni dung bn trong, v.v... Mi cp th nh vy gi l cp th HTML (Hyper Text Markup Language). V vy, i vi mi lp trnh vin web, trc khi mun xy dng ng dng web thc th th khng ch phi hiu rt r nhng cp th HTML (t nht l nhng cp th c bn) m cn phi bit cch Code (to) cc cp th ny.

1.2 Danh sch cc phn t HTML thng dngDi y l danh sch cc phn t HTML c bn v cch to ra tng ng bng cp th HTMLSTT Phn t Input Button CheckBox Radio button Hnh th hin th trn trang web Cch to ra bng th HTML tng ng Yes CheckBox1 Nam Nguyn Vn A Nguyn Vn B Nguyn Vn C Nguyn Vn A Nguyn Vn B Nguyn Vn C

List Danh sch (Combo Box)

Nguyn Vn A

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.5

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Phn cch xung dng L mt phn t cha cc phn t khc. Khi n/ hin/ di chuyn... phn t div th cc phn t khc cng n/hin/di chuyn theo...
11 12 21 22 Th TR phi nm trong mt no , khng th to ring

div

Table

11 21

12 22

TR

TD

Th TD phi nm trong mt no , khng th to ring. ....

Trn hai ct

=>

.... 1 2 3 1 23 1 2 www.aptech.utehy.vn

Trn 2 hng

=>

a img

www.aptech.utehy.vn

Ch : Thuc tnh t cho cc phn t c vit di dng: =. Phn c t trong cp du nhy n hoc cp du nhy kp.

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.6

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

II. Bi tp thc hnh1. Yu cu:To mt trang web hin th ni dung nh sau:

Giao din trang web cn to

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.7

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

2. Hng dnS dng bng m t cc phn t trn to trang theo yu cu. Vo trnh son tho web ca Visual Studio 2008 v to d n web, sau m trang Default.aspx v vit cc th HTML. chy (m) trang web va to, c th nhn F5 hoc click chut phi trong trang son tho (hoc tp Default.aspx bn panel phi), sau ch "View in Browser".

3. Minh ho muDefault.aspx Bi thc hnh s 1 - Hng Yn Aptech
PHN MM QUN L BN HNG NHP THNG TIN NH CUNG CP Tn nh cung cp:
Ngi i din: Chc v:
a ch Nh CC:
Thnh ph : ----Chn---- H ni TP H Ch Minh Nng Hi Phng Hng Yn Hi Dng Qung Ninh Ni khc Vng:
M bu in:
Quc gia: Vit Nam Lo Campuchia Ni khc
in thoi:

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.8

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech S Fax:
a ch website:
Danh sch nh cung cp hin c M NCC Tn NCC a ch Homepage 1 Cng ty FPT Lng H - Ba nh www.fpt.vn 2 Cng ty CMC Hn Thuyn - Hai B Trng www.cmc.vn 3 Cng ty Trn Anh Ging v - Ba nh www.trananh.vn

4. Ghi ch

thc hin xo (reset v trng thi u) ca mt form nhp liu, ta to phn t button nhng t "type" l "reset" (thay v type = "button). gi ton b ni dung d liu nhp v server x l, to phn t button nhng t "type" l "submit" (thay v type = "button") chn mc nh mt mc trong danh sch (Select) th c thuc tnh l "Selected" cho mc . to hp text c nhiu dng, ta dng th . Mun thay i rng ca textbox, ch cn thay i thuc tnh "size". C th b tr li trang web trn cho p hn bng cch t cc phn t trong cc ca bng (s dng th Table).

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.9

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

BI S 2: To trang web ng vi DHTML v JavaScriptMc tiu: Kt thc bi thc ny, ngi hc c th Truy xut cc i tng trnh duyt v cc phn t HTML bng JavaScript. To trang web ng k c x l tnh hp l ca d liu nhp vo. Ni dung:

I. L thuytMt trang web c to bi trc c gi l mt trang web tnh (Static webpage - tc l: Ni dung ca n mt khi c to ra th lun lun hin th ging nhau i vi mi ngi dng mi thi im). Tuy nhin, ngy nay do nhu cu ca ngi dng v ca ng dng nn mt trang web phi c kh nng ng (Dynamic webpage - tc l: ni dung ca trang web c th hin th, ng x khc nhau ng vi ngi s dng hoc tnh hung khc nhau...). Kh nng "ng" c th thc hin bn pha trnh duyt hoc pha server. Nu trang web cho php thc hin thay i (bng ngn ng kch bn nh VBScript, JavaScript...) bn pha trnh duyt, gi l trang DHTML (Dynamic HTML); cn nu trang web thc hin x l bn pha server (bng ngn ng C#, VB.NET, ASP, PHP, Perl,...) gi l cc trang ng pha server (Active Server Page). Trong ti liu ny chng ta s tm hiu c hai dng web ng trn, cn trong bi ny ta s tm hiu trang DHTML vi Javascript (JS).

1. a cu lnh javascript vo trang web1.1 a cu lnh javascript vo lung x l ngay khi trang web c m. a cc cu lnh Javascript vo trang web v yu cu trnh duyt thc thi ngay khi trang web c m, ta ch cn t cc cu lnh JS ngay trong cc cp th ..... nhng khng hm. V d: Hin th mt li cho v thng bo ngy hin ti khi trang web c m. var d = new Date (); document.write ("Cho bn ! "); document.write("Hm nay l: " + d.toDateString()); ** Ch : C th c nhiu on script trong mt trang. Trong cp script phi l cc CU LNH JAVASCRIPT V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.10

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Nhng cu lnh JS nu khng nm trong cc hm th s c thc hin ngay khi trang web c m. 1.2 a cu lnh javascript vo cc s kin (event) Nh phn 1.1 th cc cu lnh JS s c thc thi ngay khi trang web c m, tuy nhin c nhng lc ta mun n ch c thc hin khi mt s kin no xy ra, nh click chut, nhn phm ...Trong trng hp ny n gin l ta a cu lnh vo s kin tng ng theo c php: ... = "Danh sch cu lnh JS c cch nhau bi du chm phy".... V d: Hin th li cho v thng bo ngy hin ti khi ngi dng nhn vo nt "Hello": *** Thc t, rt t khi ngi ta a qu nhiu cu lnh vo ngay bn trong s kin nh trn, m thng a cc cu lnh ny vo mt hm, sau vit cu lnh gi hm trong s kin.

2. a cu lnh javascript vo t mt file ring bit.Trong cc ng dng ln, s hm, cu lnh JS cng s rt ln, v vy nu cc hm ny ngay trong file HTML nh trn s kh bo tr v khin cho vic chia s gp kh khn. khc phc hn ch ny, ngi ta thng t cc hm JS trong mt tp ring, sau ch vic gi cc hm ny trong trang HTML. V d: To mt file cha cc hm JS Cng v tr trong mt file c tn l MyMath.js, sau gi cc hm ny trong trang web c tn l TestJS.htm. Vic "nhng" cc trang *.JS vo trang html thng qua thuc tnh "src".

File MyMath.js//Hm cng hai s nguyn function Cong(a,b) { return a+b; } //Hm tr hai s nguyn function Tru(a,b) { return a-b; } V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.11

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech

File TestJS.htm Lession 02 alert ("1+1 = " + Cong(1,1)); alert ("10-2 = " + Tru (10,2));

3. Truy cp cc phn t HTML bng cu lnh JavascriptTrong JS, c th truy xut (c/ ghi) cc bin hoc cc phn t trn trang web (nh button, textbox, select, checkbox, radio button,... hoc phn t bt k). Vic truy xut n phn t tun theo c php chung nh sau: + Document.., hoc: + Document.forms[Ch s]., hoc: + Document.getElementById(). Khi truy xut n phn t, ta c th truy xut n cc thuc tnh ca n c/ ghi nh sau: .. Lession 02 function ThucHien() { var a = parseFloat(document.form1.txtSH1.value); var b = parseFloat(document.form1.txtSH2.value); document.form1.txtTong.value = a+b; } Chng trnh tnh tng S hng 1:
S hng 2:
V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.12

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Tng:
*** Theo v d trn, truy xut (tham chiu) n phn t txtSH1 v txtSH2 ta vit: document.form1.txtSH1 v document.form1.txtSH2. Cn truy xut n thuc tnh value (cha ni dung ca textbox), ta ch cn thm thuc tnh Value vo sau tham chiu, c th vit: document.form1.txtSH1.value Ngoi ra c th vit theo cch khc nh sau: ..................... function ThucHien() { var a = parseFloat(document.forms[0].txtSH1.value); var b = parseFloat(document.forms[0].txtSH2.value); document.getElementById("txtTong").value = a+b; } ............................ bit danh sch cc thuc tnh ca phn t tng ng, c th tra cu trn Internet (v d trng www.w3schools.com) hoc search: "Javascript reference"

4. Xy dng hm trong JavascriptTrong Javascript, c th xy dng cc hm ging nh cc ngn ng lp trnh khc. Tuy nhin c mt s s khc bit, c th: - Hm khng c kiu tr v - Danh sch tham s khng c kiu V d: Vit mt hm tnh lu tha ca mt s xy Lession 02 function LuyThua(x, y) { var KQ = Math.pow (x,y); return KQ; } function ThucHien() { var x,y; x=document.getElementById("txtX").value ; y=document.getElementById("txtY").value ; document.getElementById("txtXMuY").value = LuyThua (x,y); } Chng trnh tnh lu tha C s:

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.13

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechS m:
Kt qu (XY):

5. Mt s hm thng dng ca Javascript- Hm write(): in kt qu ra trang web. - Hm alert(): Thng bo trong mt hp thoi ring. - Hm prompt(): yu cu nhp thng tin t ngi dng. - Hm confirm(): Yu cu ngi dng xc nhn. - Hm open(): m mt trang web. - Hm x l ton hc: nh Sin, cos, abs, pow, .... nm trong i tng Math. - Hm x l xu: SubStr, Length, toLower.... c sn i vi mi xu. - Hm chuyn xu sang s nguyn, thc: pareInt(); pareFloat(). - Hm tnh gi tr ca mt biu thc: eval().

II. Thc hnh1. Yu cuSp xp li trang web trong bi thc hnh 1 di dng bng sau vit th tc x l s kin click ca nt submit , theo yu cu sau y: Nu d liu hp l th thc hin submit Nu d liu nhp vo khng hp l th thng bo cho ngi dng v khng thc hin submit. D liu nhp vo c gi l khng hp l nu gp mt trong cc trng hp sau: Tn nh cung cp trng Thnh ph khng c chn in thoi cha k t khng phi l s a ch website khng ng.

2. Hng dn2.1 hu mt s kin ca mt phn t bt k, ch cn thm cu lnh "return false;" trong phn cu lnh x l s kin tng ng. 2.2 S dng cc hm kim tra s IsNaN() (true = khng phi l s, false=ng l s) 2.3 S dng cc hm x l xu. 2.4 Vit di dng cc hm.

3. Minh ho muFile Default.aspx

Bi thc hnh s 2 - Hng Yn Aptech function KiemTraDuLieu() {

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.14

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptechif (document.getElementById("txtNCC").value == "") { alert ("Bn phi nhp tn nh cung cp !"); return false ; } if (document.getElementById("lstCity").selectedIndex == 0)| { alert ("Bn cha chn Thnh ph !"); return false ; } if (isNaN(document.getElementById("txtTelephone").value) == true ) { alert ("S T ch cha k t s !"+document.getElementById("txtTelephone").value); return false; } var homepage=document.getElementById("txtHomepage").value.toLowerCase() if (homepage.indexOf("http://")==-1) { alert ("a ch website khng ng, hy nhp theo dng http://"); return false; } return true; //d liu nhp hp l. }
PHN MM QUN L BN HNG NHP THNG TIN NH CUNG CP Tn nh cung cp: Ngi i din: Chc v: a ch Nh CC: Thnh ph : ----Chn---- H ni TP H Ch Minh Nng Hi Phng Hng Yn

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.15

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechHi Dng Qung Ninh Ni khc Vng: M bu in: Quc gia: Vit Nam Lo Campuchia Ni khc in thoi: S Fax: a ch website:
Danh sch nh cung cp hin c M NCC Tn NCC a ch Homepage 1 Cng ty FPT Lng H - Ba nh www.fpt.vn 2

V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319

P.16

Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechCng ty CMC Hn Thuyn - Hai B Trng www.cmc.vn 3 Cng ty Trn Anh Ging v - Ba nh www.trananh.vn

4. Ghi chC th tra cu cc thuc tnh, phng thc, s kin ca cc phn t (Select, command, checkbox,...) ti: www.w3schools.com http://developer.netscape.com/docs/manuals/js /client/jsguide/index.htm http://developer.netscape.com/docs/manuals/ja vascript.html hoc bn mm i km kha hc.

BI 3: THAY I NI DUNG TRANG WEB BNG CSS V JS NH DNG TRANG WEB VI CSSMc tiu sau khi kt thc bi hc Trnh by c cch nh ngha CSS kiu dng v lp. S dng CSS v bng thuc tnh CSS nh dng cho phn t bt k. nh dng li trang thng tin sn phm bng CSS, m bo tnh m thut v k thut.

I. L thuytTrc y, ngi ta thng dng cc c php c nh dng cc phn t trn trang web (v d in m, t font ch, v.v...). Tuy nhin cch t trc y c nhiu im hn ch v vy hin nay trong lp trnh ch yu s dng c php nh dng mi gi l CSS (Cascading Style Sheet = bng nh kiu). C nhiu cch nh kiu cho phn t web bng CSS, tuy nhin thc t hay s dng cch nh dng sau y:1. nh dng CSS ngay trong nh ngha phn t (Gi l Inline)Vi cch ny, khi mun nh dng cho mt phn t/ th bt k no ngi ta nh ngha CSS ngay trong phn t/ th . V d1: nh ngha ni dung th H2 c mu ch , font ch nghing nh sau: V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.17Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Mu , ch nghing V d2: nh ngha nt nhn "Yes" c nn , c ch 16pt nh sau: Ch : Ni dung trong style cha cc cp : v cch nhau bi du hai chm. Danh sch cc thuc tnh v gi tr cng nh ngha ca mi thuc tnh c th tra trong bng (bn mm km kho hc) hoc vo tm kim trn internet: http://www.w3schools.com/CSS/CSS_reference.asp hoc trang http://www.javascriptkit.com/dhtmltutors/cssreference.shtml Vi cch ny ta phi nh ngha ring cho tng phn t, khng s dng li c v mt thi gian bo tr. Thng c s dng cho nhng phn t c nh dng ring.2. nh dng CSS thng qua lpCch th hai linh hot hn v thng p dng cho cc trang web ln, l ngi ta nh ngha sn mt s CSS gi l lp (class), sau c th p dng lp ny cho cc phn t mong mun. Phn nh ngha CSS ny c t trong cp th ... . nh ngha: ..... . { Tn_Thuc_tnh_1: Gi_tr_1; Tn_Thuc_tnh_2: Gi_tr_2; .................................... } S dng: V d: nh ngha 2 lp MC_LN v MC_NH, sau p dng nh dng ni dung mc lc ca mt cun ti liu. Lp MC_LNc 2 thuc tnh: Mu ch m, c ch 16 Lp MC_NH c 3 thuc tnh: Mu ch m, in nghing, c ch 14 CSS .MC_LN { font-weight:bold; font-size:16pt;V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.18Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech}.MC_NH{ font-weight:bold; font-size:14pt; font-style:italic; } Mc lc Bi 1: To trang web tnh vi HTML
1.1 L thuyt
1.2 Thc hnh

Bi 2: S dng JavaScript
2.1 L thuyt
2.2 Thc hnh

Bi 3: To trang web tnh vi CSS & JS
3.1 L thuyt
3.2 Thc hnh Kt qu cho ta:Mc lcBi 1: To trang web tnh vi HTML1.1 L thuyt 1.2 Thc hnhBi 2: S dng JavaScript2.1 L thuyt 2.2 Thc hnhBi 3: To trang web tnh vi CSS & JS3.1 L thuyt 3.2 Thc hnh** u im ca nh ngha lp ny l ta ch phi nh ngha mt ln, sau s dng cho nhiu phn t. Vic bo tr v sa cha s d dng v nhanh chng hn. Ngoi ra, ngi ta c th nh ngha CSS trong mt tp ring, sau c th s dng trong tt c cc trang khc nhau. s dng (gi) cc CSS nh ngha trong mt file xyz.css no , ta ch cn khai bo nh sau trong phn Head: V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.19Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech *Ch : Ni dung trang css ch cha nh ngha cc lp, khng c th kiu nh II. Thc hnh1. Yu cuVit li trang nhp thng tin nh cung cp cc bi hc trc nhng s dng CSS nh ngha li cc phn t. Kt qu sau cng cn t ti t nht phi nh sau:Giao din kt qu2. Hng dn- S dng nh dng CSS ti dng v to lp CSS. - Cc phn t c cng thuc tnh th nn to mt lp ring, sau p dng lp ny cho th bng thuc tnh Classs= . - Tra cu bng CSS trong bn mm i km hoc trang .www.w3schools.comV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.20Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech3. Minh ho mu CSS .Nhn { font-style:italic; font-size:12pt; color:Gray; text-align:right; width:150px; padding-right:5px; } .Bng { border-collapse:collapse; border-style:solid ; border-width:1px; border-color:gray; margin-left:auto; margin-right:auto; width:600px; } td { padding:3px; } td.CnhPhi { border-right:solid 1px gray; } .TiuNCC { text-align:center; border-right:solid 1px gray; border-bottom:solid 1px gray; } NHP THNG TIN NH CC Tn Nh CCV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.21Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Ngi i din Chc v in thoi a ch NCC Thnh ph: ----Chn---- H ni TP H Ch Minh Nng Hi Phng Hng Yn Hi Dng Qung Ninh Ni khc Vng: V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.22Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech M bu in: Quc gia: Vit Nam Lo Campuchia Ni khc in thoi: S Fax: a ch website
Danh sch nh cung cp hin c V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.23Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechM NCC Tn NCC a ch Homepage 1 Cng ty FPT Lng H - Ba nh www.fpt.vn 2 Cng ty CMC Hn Thuyn - Hai B Trng www.cmc.vn 3 Cng ty Trn Anh Ging v - Ba nh www.trananh.vn 4. Ghi chNu mun ly gi tr ca mt mc trong Listbox (Select) th vit: .options[Ch s ca mc].text ly phn Text (phn hin th) hoc vit: .options[Ch s ca mc].value ly phn value. margin-left, margin-right = "auto". Mun t bng vo gia form, t thuc tnhCc th con c tnh k tha th cha, tc l: Khi th cha (th cha) nh ngha mt thuc tnh A no th cc th con cng c c tnh A. V d: nu ta vit Mu g? Mu xanh th tt cc cc ni dung ca th h2 v h3 u c mu xanh. (Tr phi chnh th h2 hay h3 nh ngha li). trnh by c tt d liu di dng hng, ct (bng) th cn phi hiu rt r cc thuc tnh qui nh cch thc hin th ca cc phn t nh TD, TR, TABLE. C th tham kho y v vn ny ti: http://www.w3schools.com/CSS/ . c bit mi phn t u c cc thuc tnh hin th nh Margin, Border, padding. Mun hin th ng cn nm c ngha ca cc khi nim ny.V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.24Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptechborder-right Margin-left padding-bottomM hnh biu din khi nim margin, border, padding S dng CSS khi c nhiu phn t c cng nh dng ging nhau trong trang/ ng dng web.BI 4 (Tip): THAY I NI DUNG TRANG WEB BNG CSS V JS NH DNG TRANG WEB VI CSSMc tiuI. L thuyt1. Tham chiu n mt phn t trong trang web c hay thay i ni dung hay thuc tnh ca phn t bt k th iu cn lm trc tin l phi tham chiu n phn t . Vi mi trnh duyt khc nhau c th c cc cch khc nhau, tuy nhin cch truy cp sau y tng thch vi hu ht cc trnh duyt. tham chiu n mt phn t, c th dng 2 cch ph bin sau: 1.1 Dng hm getElementById("Gi tr thuc tnh id ca phn t") V d, c phn t: Chng I . Nu mun tham chiu (truy xut) n phn t H1 ny, ta vit: document.getElementById("TieuDe"). Khi truy xut n phn t no th ta hon ton c th c hoc thay i ni dung/ thuc tnh ca n. 1.2 Dng hm getElementsByTag("Tn ca th"). Hm ny tr v mt mng cha cc phn t c cng loi/ tn (th) nm trong phn t. Ch : bt k phn t no cng c phng thc getElementByTag, v vy khi ta vit document.getElementsByTag s tr v cc phn t nm trong document, nu ta vit form1.getElementsByTag th tr v cc phn t nm trong form, v.v...V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.25Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 1.3 Truy xut n tt c cc phn t con ca mt phn t bt k. Mi phn t u c thuc tnh childNodes (mng) cha cc nt con nm bn trong n. V vy c th dng vng lp duyt tt c cc phn t bn trong n. Thuc tnh ChildNodes li c mt thuc tnh con l length cho bit s phn t bn trong (phn t u c ch s 0).2. Tham chiu n mt thuc tnh ca phn tKhi tham chiu c n phn t th vic tham chiu n thuc tnh kh d dng, c th vit theo c php sau: .. V d: ( y, type, value v id l cc thuc tnh ca th input). Nu mun truy xut n thuc tnh value, ta vit: document.getElementById("button1").value.3. Thay i ni dung ca mt phn t3.1 Qui nh v vic vit tn thuc tnh Trong cc bi trc, khi nh ngha style cho mt phn t, tn thuc tnh c th c cha du "-", v d: Hello . Tuy nhin khi x l trong cc cu lnh Javascript th thuc tnh ny cn vit li theo qui tc sau: Chuyn ch ci ngay sau du "-" thnh ch hoa sau b du tr ny i. V d tn thuc tnh trn s vit li thnh fontSize v backgroundColor. 3.1 Thay i thuc tnh ca phn t C php: . = V d c phn t: , sau mun thay ni dung "Click here bng "Thc hin" th vit nh sau: document.getElementById("button1").value= "Thc hin". **Ch : C nhng thuc tnh ch c nh thuc tnh "type" chng hn. 3.2 Thay i style ca phn t bng Javascript Khi nh ngha phn t, mi style cha cc thuc tnh ring (v d: Hello ), lc nu mun thay i cc thuc tnh ca style th vit nh sau: document.getElementById().style. =. Ch : tun th cch t tn trn. V d: t mu nn cho phn t hello trn thnh mu , nh sau: document.getElementById("hello").style.backgroundColor = "red";V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.26Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechII. Thc hnh1 Yu cu1.1 V giao dingiao din trang web 1.2 Yu cu v chc nng/ x l - Khi ngi dng click vo nt "Thm mi", h thng s thm bn ghi vo danh sch NCC pha di nu d liu hp l, tip theo xo cc nhp v a focus v Tn nh CC. - Trng hp d liu khng hp l (Tn NCC trng, cha chn thnh ph, in thoi cha k t ngoi s, a ch website khng bt u bng http://) th a ra thng bo, sau t focus vo v tr nhp sai km t nn mu vng.V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.27Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech2 Hng dn t nn vng, truy cp vo thuc tnh backgroundColor ca style thuc phn t tng ng. thng bo, dng hm alert xo form, gi phng thc reset() ca form. thm mt hng vo bng, thc hin trnh t: + thm hng (row hay tr) mi: Gi phng thc insertRow(V tr cn thm) ca bng + thuc tnh rows.length ca bng cho bit s phn t (hng trong bng) - thm mt (cell hay ) vo hng, dng phng thc insertCell(th t ) ca i tng row. t thuc tnh con trong thuc tnh style ca mi , ta li s dng c php truy cp nh phn 3.23 Minh Ho mu CSS .Nhn { font-style:italic; font-size:12pt; color:Gray; text-align:right; width:150px; padding-right:5px; } .Bng { border-collapse:collapse; border-style:solid ; border-width:1px; border-color:gray; margin-left:auto; margin-right:auto; width:600px; } td { padding:3px; } td.CnhPhi { border-right:solid 1px gray; } .TiuNCC { text-align:center; border-right:solid 1px gray;V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.28Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptechborder-bottom:solid 1px gray; } function AddRow() { if (KiemTraDuLieu() == false ) return false; var tbl=document.getElementById ("tblDSNCC"); var row=tbl.insertRow(tbl.rows.length); var cell=row.insertCell(0); //Ct m nh cung cp cell.innerHTML=tbl.rows.length-2; cell.style.color="blue"; cell.style.textAlign="center"; cell.style.borderRightStyle="solid"; cell.style.borderRightColor="gray"; cell.style.borderRightWidth="1px"; //Ct Tn nh cung cp cell=row.insertCell(1); cell.innerHTML= document.getElementById("txtNCC").value ; cell.style.color="blue"; cell.style.textAlign="left"; cell.style.borderRightStyle="solid"; cell.style.borderRightColor="gray"; cell.style.borderRightWidth="1px"; //Ct a ch nh cung cp cell=row.insertCell(2); cell.innerHTML= document.getElementById("txtDiaChi").value ; cell.style.color="blue"; cell.style.textAlign="left"; cell.style.borderRightStyle="solid"; cell.style.borderRightColor="gray"; cell.style.borderRightWidth="1px"; //Ct a ch website cell=row.insertCell(3); var URL= document.getElementById("txtHomePage").value ; cell.innerHTML= "" + URL + ""; cell.style.color="blue"; cell.style.textAlign="left"; cell.style.borderRightStyle="solid"; cell.style.borderRightColor="gray"; cell.style.borderRightWidth="1px"; // Nu mun gi i th vit cu lnh // document.forms["form1"].submit(); //xo form nhp bn ghi mi document.getElementById ("form1").reset(); document.getElementById ("txtNCC").focus (); } //Hm kim tra d liu nhp vo c hp l hay khng. tr v true nu hp l. function KiemTraDuLieu() {V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.29Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptechif (document.getElementById("txtNCC").value == "") { alert ("Bn phi nhp tn nh cung cp !"); document.getElementById("txtNCC").focus(); document.getElementById("txtNCC").style.backgroundColor="yellow"; return false ; } if (document.getElementById("lstCity").selectedIndex == 0) { alert ("Bn cha chn Thnh ph !"); document.getElementById("lstCity").focus(); document.getElementById("lstCity").style.backgroundColor="yellow"; return false ; } if (isNaN(document.getElementById("txtTelephone").value) == true ) { alert ("S in thoi phi l cc k t s ! "); document.getElementById("txtTelephone").focus(); document.getElementById("txtTelephone").style.backgroundColor="yellow"; return false; } var homepage=document.getElementById("txtHomePage").value.toLowerCase() if (homepage.indexOf("http://")==-1) { alert ("a ch website khng ng, hy nhp theo dng http://"); document.getElementById("txtHomePage").focus(); document.getElementById("txtHomePage").style.backgroundColor="yellow"; return false; } return true; //d liu nhp hp l. } function ClearBackgroundColor(objToClear) { objToClear.style.backgroundColor="white"; } NHP THNG TIN NH CC Tn Nh CC V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.30Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Ngi i din Chc v in thoi a ch NCC Thnh ph: ----Chn---- H ni TP H Ch Minh Nng Ni khc Vng: M bu in: V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.31Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Quc gia: Vit Nam Lo Campuchia Ni khc in thoi: S Fax: a ch website
Danh sch nh cung cp hin c M NCC Tn NCC a ch Homepage V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.32Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 1 Cng ty FPT Lng H - Ba nh www.fpt.vn 2 Cng ty CMC Hn Thuyn - Hai B Trng www.cmc.vn 3 Cng ty Trn Anh Ging v - Ba nh www.trananh.vn 4 Ghi chMi phn t (th) u c thuc tnh innerHTML. thuc tnh ny chnh l phn nm gia th ng v th m. V d vi Hello world , th innerHTML chnh l : "Hello world ". y l c s ta thay i ni dung ca trang web. Hy lun ghi nh, thay i ni dung/ thuc tnh/ style ca phn t th trc ht phi truy cp/ tham chiu c n phn t . Cch truy cp hay dng l hm document.getElementById("Id ca th").BI S 5: ASP.NET v Web form I. L thuyt1. M hnh lp trnh pha my chTrong th gii web, tt c cc giao tip gia Client (trnh duyt) v Server (web server) u c thc hin theo c ch Request and Response. Tc l, trc tin pha my khch cn phi requesst (gi yu cu) ti Server, sau pha server s response (hi p) li yu cu. Cng mt c ch ny, ngi ta c 2 cch tip cn x l request trang web t my khch: Cch 1: Khi my khch yu cu mt trang v d trang abc. th my ch s c ton b ni dung ca trang v gi v cho pha my khch m khng thc hin bt k x l no. N hon ton khng qua tm n ngha bn trong ca trang abc. Ni dung trang ny sau s c pha trnh duyt x l. Cch 2: Khi my khch yu cu mt trang v d trang xyz. th my ch s c ton b ni dung ca trang v x l ti Server (trc khi gi v cho client) c kt qu, V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.33Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech tip theo ly kt qu x l c gi v cho pha my khch. Kt qu tr v cho my khch c th cha cc phn t HTML, cc cu lnh JavaScript, cc nh ngha kiu CSS.v tip tc c pha client (trnh duyt) x l nh cch 1. Vi cch 1, do vic x l khng din ra bn pha server nn trang web khng th c/ ghi cc d liu trn Server c (v d Danh sch khch hng, danh mc sn phm,.). V vy n ch ph hp vi cc trang web n gin, khng i hi x l chi tit. Vi cch 2, do vic x l thng tin ti server nn hon ton c th c/ ghi d liu trn chnh server . V vy, n ph hp vi cc d n ln v tnh bo mt cao. M hnh theo cch ny gi l m hnh lp trnh pha my ch. Di y l hnh nh minh ha cho 2 m hnh ny: M hnh lp trnh pha my khch (Client side)V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.34Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech M hnh lp trnh pha my chCu hi: Khi no th mt trang s c x l bn Server trc ?. hay ni cch khc l khi no th c gi l x l theo m hnh pha server? Tr li: Cc trang (file) c ui m rng m server c th x l, v d: asp, php, jsp, aspx Cu hi: C th ly mt v d v mt trang s c x l pha server v trang s khng c x l pha server ? Trang Trang1.htm Hello world Trang2.aspx Untitled Page 2 dng ny s c x l bn pha server trc Cu hi: Chng trnh Client v server c nht thit phi nm trn hai my tnh ring bit khng ? v Client l cc trnh duyt ri (IE, FireFox), cn server l chng trnh no ?V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.35Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Tr li: Hai chng trnh ny hon ton c th nm trn cng mt my tnh. Chng trnh server thc cht l mt chng trnh c tn l IIS (Internet Information Service). Cu hi: Phi vit nh th no server hiu l cn phi x l bn pha server trc khi gi v cho pha Client ? Tr li: Trc tin phi t phn m rng cho file (v d .aspx), sau trong trnh duyt cn phi t nhng ni dung mun x l bn pha server trong cp th c bit, v d:Hoc: *** Chnh cc k hiu v Runat = Server mch bo Server rng : Hy x l ni dung bn pha server i!. Nu khng c nhng k hiu ny th mc nhin server lm mi vic l gi tr li cho trnh duyt x l. Cu hi: Sao khng gi ngay cho trnh duyt x l nh trc y m c phi server x l !. Client x l s gim ti cho server, iu ny chng tt hn sao ? Tr li: V trnh duyt ch c th hiu v x l c cc th HTML v Javascript thi, cn n khng th x l c cc ni dung phc tp. V d n khng hiu asp:Calendar l g ?2 C ch x l file ASP.NET pha my ch.i vi cc trang ASP.NET, th c ch x l ging nh m t trn, tc l theo m hnh x l bn pha server. Nhng c b sung thm tnh nng Compile and Cache:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.36Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechGii thch c ch x l trn: - Bc 0: Ngi lp trnh phi to cc trang ASPX (gi s tn trang l abc.aspx) v t n vo trong th mc web ca web server (c tn l www.server.com). Trn thanh a ch ca trnh duyt, ngi dng nhp trang www.server.com/abc.aspx. - Bc 2: Trnh duyt gi yu cu ti server vi ni dung: Lm n gi cho ti trang abc.aspx th tt !. - Bc 3: web server s bin dch code ca trang aspx (bao gm c cc m code vb.net/ c# - gi l code behind hay code file) thnh class. - Bc 4: Lp sau khi c bin dch s c server thc thi. - Bc 5: Server tr kt qu thc thi v cho trnh duyt (trang HTML). Ring vi ASP.NET th vic bin dch s c thc hin thng minh hn, nh sau:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.37Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.38Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech3 Mt s v d minh ha.3.1 Yu cu x l ti pha server thng qua Runat=ServerV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.39Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 3.2 Yu cu x l bn pha server thng qua cp th Ngoi 2 cch trn, cn 2 cch yu cu x l trang web trc tip trn server, l: t cc cu lnh ngay trong cp th Script, nhng c thuc tnh Runat = Server:.. . /// /// Cc cu lnh/ khai bo bin/ khai bo hm/ nh ngha lp v.v... /// cn x l bn pha server th t vo y ! V d: /// string HoVaTen = "Aptech Center"; public int Tong (int a, int b) { return a + b; } // Hoc nh ngha lp public class Example { public int Tich (int a, int b) { return a * b; } } ..V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.40Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech3.3 Yu cu x l bn server thng qua Script3.4 Yu cu x l bn pha server bng cch t trong file CodeV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.41Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech4 Webform trong ASP.NET xy dng ng dng web, ASP.NET cung cp sn cho cc nh lp trnh rt nhiu lp ngay khi ci t .NET framework. Trong s ny c mt lp c bit quan trng l Page. Mi lp Page s trnh by mt trang ti liu tng ng vi mt window v c gi l mt web form. Web form l mt cng ngh cho php xy dng cc trang web trong c th lp trnh c. Cc trang ny gi l ASP.NET web form pages hay ngn gn l web form. Cc trang web xy dng bng ASP.NET s khng ph thuc vo trnh duyt (tc l trnh duyt no cng cho kt qu nh nhau v hin th ging nhau). Mt s u im ca web forms: Web forms c th c thit k v lp trnh thng qua cc cng c pht trin ngdng nhanh (RAD). Web form h tr mt tp cc iu khin (controls) c th m rng. Bt k mt ngn ng .NET no cng c th c dng lp trnh vi web forms. Asp s dng trnh thc thi ngn ng chung (CLR) ca .NET framework do thahng mi u th ca .NET Framework. V d : Kh nng tha k.5 Tm hiu cu trc trang ASP.NETMt trang ASP.NET bao gm c phn giao din ngi dng v phn x l logic bn trong. Giao din ngi dng chu trch nhim hin th cc thng tin v tip nhn d liu t ngi dng, trong khi phn x l (lp trnh) m nhim vic iu khin s tng tc ca ngi dng vi trang web. Phn giao din ngi dng bao gm mt file cha ngn ng nh du nh HTML hoc XML v server controls chng hn. File ny c gi l mt Trang (Page) v c ui m rng l aspx. Phn p ng cc tng tc ca ngi dng vi trang web c thc hin bi mt ngn ng lp trnh chng hn nh Visual Basic.NET v C#. Chng ta c th thc hin vic vit code bng bt k ngn ng lp trnh no c h tr bi CLR ngay trong trang ASPX hoc tch ra mt file ring. File tch ring ny c gi l file Code Behind hay mi y gi l Code file. ui m rng ca Code file l .VB (Nu dng ngn ng Visual Basic) hoc .CS (nu dng ngn ng C#).Cch lu tr ny c minh ha qua mt ng dng c th di y. Trong , trang web th nht Default2.aspx cha c code (C#) v giao din (HTML) cn trang web th hai t code v giao din ra 2 file ring bit. default.aspx v default.cs. V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.42Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech *** Ch : C th kt hp va t code trong file aspx va t code trong file cs.Trang Default2.aspx cha code bn trong n.Code c t trong default.cs Cn phn giao din cha trong default.aspxMt webform bao gm 2 thnh phn: Thnh phn giao din (trang thisfile.aspx) Thnh phn x l (lp trnh) thisfile.csV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.43Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Phn tch mt trang ASP.NET thc t (Trang ny lu code v giao din trn 2 file):File Default.aspx Server side - example 3 Ni dung file code (default.cs) nh sau: File Default.csusing System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Lession03_default : System.Web.UI.Page { protected void Tong (object sender, EventArgs e) { txtKetQua.Text = (int.Parse (txtA.Text) + int.Parse (txtB.Text)).ToString (); } }Trong file default.aspx:- Page Language="C#" : ch ra rng ngn ng c s dng lp trnh lC#- CodeFile="~/Lession 03/Default.aspx.cs": Cho bit ni dung file chacode x l l file ~/Lession 03/Default.aspx.cs. - Inherits ="Lession03_default": Cho bit l trang giao din tha k t lp no trong file ~/Lession 03/Default.aspx.cs (Bi v mt file c th c cha nhiu lp).- Server side - example 3 V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.44Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechCho bit l th ny cn c x l bn pha server. Tuy nhin ni dung trong th ny khng c g c bit x l v kt qu sau x l s l (khng c runat=server): Server side - example 3 : Cho bit l ni dung trong cp th form cn c x l bn pha server. : l th to ra phn t textbox, tuy nhin do c thuc tnh runat = server nn vic to ny s c thc hin bn server, c kt qu tr v (l - public int Hieu (int a, int b) { return a - b; } on script ny c thuc tnh runat=Server, v vy n s c x l pha server. Thuc tnh language = C# cho bit ngn ng s dng vit l C Sharp.Trong file default.csNi dung file ny hon ton cha cc cu lnh ca ngn ng lp trnh VB.NET hoc C#. Vic vit code cho file hon ton ging nh vit cc chng trnh trn window form hay chng trnh Console. Ch : Trong file ny khng c cha trc tip cc th HTML. Cc cu lnh trong file ny HON TON C PHP TRUY CP TI CC PHN T trong file default.aspx c thuc tnh runat = server. Cu hi: Nu trong file default.cs c dng lnh sau:cmdTinhTong.Text = Tnh tng; th chng trnh c bo li khng ? V sao ?6. Code behind v vit code pha Server.Cc file cha m code (VB.NET hoc C#) c gi l Code file (cch gi mi) hay Code behind (cch gi c). M lnh ti y thng x l cc tc v lin quan n nghip v, trong cng c cc cu lnh cho php gi kt qu v cho pha trnh duyt. C th l phng thc write ca i tng Response. V d mun tr mt xu S v cho trnh duyt hin th, ta vit: Response.write(S). Vic s dng phng thc write ny nh th no sinh ra cc phn t cho trnh duyt hiu l mt k nng quan trng. Nhn chung, ngi ta thng chia cc web form thnh 2 phn l trang cha giao din (aspx) v trang cha m code (.vb; .cs) m bo tnh chuyn mn ha v d bo tr hn.V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.45Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech7. HTML Server Controls v Web controls7.1 Gii thiu gip cho vic pht trin cc ng dng web nhanh chng v thun tin, ASP.NET cung cp cho chng ta mt tp hp cc iu khin sn c thc hin hu ht cc cng vic ph bin hng ngy. Cc iu khin ny chia lm 2 loi: HTML Server Control v ASP.NET server control. Cc iu khin (phn t) ny u c x l bn pha server (c thuc tnh runat=server) v vy chng ta u c th truy cp n cc phn t ny bng cc cu lnh C# (cc cu lnh nm bn trong Code file). im khc bit gia HTML Server control v ASP.NET server control ch: iu khin HTML Server control th c s lng v cch thc to ging ht cc phn t HTML m ta vn to trong trang HTML, ch khc mt iu l c thm runat = server; iu khin ASP.NET control th c nhiu thuc tnh hn, thc hin c chc nng phc tp hn HTMLServer controls.-7.2 Cch thc to phn t HTML Server Control v ASP.NET control a) HTML Server control (Gii thiu bit, khng nn dng) C php to phn t HTML Server control:o o Trong : Tn loi th l input, select, p, h1, . V d: b) ASP.NET server control (Nn dng) C php to phn t ASP.NET server control o o V d: o o oTrong asp: l bt buc, Loi_PT c th l button, textbox, calendar, select, treeview, adRotator, listview, gridview, image,. runat="server" cell V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.46Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech **** Ch **** c th truy xut ti cc phn t ny trong Code file (hay server script pha server)th mi phn t cn phi t cho n mt id duy nht. Trong tt c cc ng dung, nu c th c th nn dng cc ASP.NET server control m bo tnh tng thch vi trnh duyt. Cc iu khin ASP.NET server control hon ton c th do ngi dng to ra. (phnny s c cp trong phn Lp trnh ASP.NET nng cao)II. Thc hnh1. Yu cuXy dng li trang web v nhp thng tin nh cung cp bi trc HON TON bng cc ASP Server Control. Cc hm kim tra cng c vit bng m lnh pha Server (Vit bng C#.NET).Giao din trang webV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.47Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech2. Hng dnMi th gi y c thm tin t asp:, v d: v thuc tnh runat="server". Vit cc lnh x l ng vi cc s kin trong ca s code ca VS.NET. gi mt hm/ phng thc khi mt s kin xy ra, ta thc hin theo cch: + Vit mt hm trong ca s code dng: Tn_Hm(object sender, EventArgs e) + Gn tn hm ny cho tn s kin ca phn t. V d: Gi hm "Thc_Hin" khi ngi dng click chut ln nt "Thm" nh sau: Trong ca s code: Protected void Thc_Hin(Object sender, EventArgs e) {... } Trong ca s son code html: .3. Minh ho muV y c c phn x l pha server, do vy s c thm trang m code. trang Default.aspx Chng trnh qun l bn hng - Nhp thng tin nh cung cp NHP THNG TIN NH CUNG CP Tn Nh CC Ngi i din V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.48Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechChc v in thoi a ch NCC Thnh ph: nh logo: M bu in: Quc gia: V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.49Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech in thoi: S Fax: a ch website
Danh sch nh cung cp hin c M NCC Tn NCC a ch Homepage 1 Cng ty FPTV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.50Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Lng H - Ba nh www.fpt.vn Trang Default.aspx.csusing System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { KhoiTaoTrangThai (); } //Hm t li trng thi mt s phn t v trng thi thng. private void KhoiTaoTrangThai () { lblThongBao.Text = ""; txtNCC.BackColor = System.Drawing.Color.White; lstCity.BackColor = System.Drawing.Color.White; txtHomePage.Style.Value = "background-color:white"; } // Hm kim tra xem d liu nhp hp l hay cha. True nu hp l. protected Boolean KiemTraDulieu () { if (txtNCC.Text == "") { lblThongBao.Text = "Bn cha nhp tn nh cung cp !"; txtNCC.BackColor = System.Drawing.Color.Yellow; txtNCC.Focus (); return false; } if (lstCity.SelectedIndex aptech Request("txtPassword") => 123456 1.2 Cc thnh phn (thuc tnh v phng thc) chnh Phng thc: Request.QueryString.Get("Tn_Phn t cn c"): c gi tr ca mt phn tc gi theo phng thc Get (Method = "Get") Phng thc Request.Form.Get("Tn_Phn t cn c"): c gi tr ca mtphn t c gi theo phng thc Post (Method = "Post"). Ch : C th dng Request.Form.GetValues v Request.Form.GetValues c. V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.54Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 1.3 V d s dng Xy dng 2 trang web : trang Default.aspx, trong c 2 textbox cha tn v mt khu. Khi ngi dng click vo nt submit th gi tn v mt khu sang trang Webform1.aspx hin th.Trang ngun (gi): Default.aspxKt qu nhn v. Code ca 2 trang s nh sau:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.55Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechDefault.aspxWebform1.aspxV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.56Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechCode x l ca trang webform1.aspx.cs2 Response Object1.1 i tng Response dng lm g ? i tng ny c dng gi ni dung (mt xu) bt k v cho trnh duyt. 1.2 Cc thnh phn (thuc tnh v phng thc) chnh Phng thc: Response.write() dng gi gi tr biu thc truyn vocho pha trnh duyt. Phng thc: Flush dng a d liu cn trong b m pha server v cho phatrnh duyt. Phng thc Response.Redirect(a ch URL): Chuyn ti mt trang khc.1.3 V d s dng To mt trang Login hon ton bng phng thc Response.write nh sau:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.57Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Trang code s nh sau:3 Server Object3.1 i tng Server dng lm g ? Dng to cc i tng COM Ly thng tin v tn my nh x ng dn o thnh ng dn vt l.3.2 Cc thnh phn (thuc tnh v phng thc) chnh CreateObject(COM Specification) t dng trong ng dng .NET MachineName: String; Tr v tn ca my tnh server ang chy. Mappath(Virtual path): Tr v ng dn vt l ca ng dn o tng ng.3.3 V d s dng In ra tn ca my ch hin hnh: Response.Write(Server.MachineName); Cho bit ng dn thc s trn cng (th mc vt l) ca trang hin hnh (trangdefault.aspx) : Server.Mappath(default.aspx); Cho bit ng dn vt l ng vi tp QLCB.Mdb, bit rng tp ny nm trong mtth mc con l App_Data: Server.Mappath(App_Data/QLDB.MDB);V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.58Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech4 Session Object4.1. Bin Sesstion Khi vo mt website, ngi dng c th duyt rt nhiu trang web ca website . Nu mun lu tr thng tin v khch thm ny trong c phin lm vic th c th lu vo cc bin, gi l bin Session. Ni cch khc, bin session l mt bin m mi trang trong mt phin (Session) u c th truy xut. 4.2. i tng Session L i tng dng qun l (to, c, ghi) cc bin sesstion v mt s thng s khc. + C php to bin Session nh sau:Session.Add("Tn_Bin","Gi tr khi to");Lu : Tn bin phi t trong cp du nhy kp. c th l xu k t hoc s... V d : To mt bin tn l MaNguoiDung v gn gi tr l TK34 Session.Add(MaNguoiDung,TK34); + C php c gi tr ca mt bin sesstion nh sau: Session.Contents[Tn_Bin] hoc dng ch s: Session.Contents[i]; + C php ghi (thay i) gi tr ca bin session: Session.Contents[Tn_Bin] = V d: Response.write(M ngi dng l : &Session.Contents[MaNguoiDung]) Ring vi i tng Session, n cn c cc s kin. Cc s kin ny t ng c gi mi khi mt phin lm vic c to ra. Cc s kin ny c tn l On_Start v On_End. Cc s kin ny c t trong file Global.asax.5 Application Object5.1 i tng Application dng lm g ? Dng qun l cc bin c phm vi ton ng dng. C tc dng n mi ngi dng. 5.2. Khi nim bin ton ng dng Bin ton ng dng l bin c tc dng i vi mi ngi dng truy cp vo website. Mi trang aspx.cs u c th truy cp n bin ny v d bt k thi im no. 5.3. i tng Application Dng qun l (To, c, ghi) cc bin c phm vi ton ng dng. + C php to bin Application: Application.Add(Tn_Bin, ); + V d: To bin So_Nguoi_Truy_Cap Application.Add(So_Nguoi_Truy_Cap, 0) V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.59Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech+ Truy xut n bin Application: Application.Contents[Tn_Bin] hoc ch s: Application.Contents[i] + V d : c v ghi bin Application. Application.Contents[So_Nguoi_Truy_Cap] = Application.Contents[So_Nguoi_Truy_Cap] + 1 Response.write(Bn l v khch th: & Application.Contents[So_Nguoi_Truy_Cap]) Ngoi ra, i tng Application cn c 2 phng thc thng dng l Application.Lock(): kha khng cho ngi khc sa i cc bin ton cc v Application.UnLock() m kha . i tng Application cng c 2 s kin l Application_OnStart v Application_OnEND. S kin OnStart ch c kch hot duy nht mt ln khi yu cu u tin pht sinh. S kin OnEND c kch hot khi dch v web dng (unload). i tng Application c 2 phng thc l Lock v Unlock. Khi gi phng thc Lock (kha) th tt c cc ng dng khng c php thay i cc gi tr Application. cc ng dng khc c php thay i cc bin Application th gi phng thc Unlock. M lnh vit cho 2 s kin ny cng c t trong file Global.asa.II. Thc hnh1. Bi 1: To mt trang LoginNu ngi dng nhp user name v mt khu tng ng l asp.net v 123456 th c php truy cp cc trang Index.aspx, tri li mi ln ngi dng truy cp n trang Index.aspx th u c chuyn ti trang Login.aspx. Minh ha: Cn to 3 trang l Home.aspx/cs, Login.aspx/cs v Global.asax nh sau:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.60Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Thanh ton - Trang cn phi Login trc khi xem y l ni dung rt quan trng, bn ch c th thy dng ny sau khi Login ! Ni dung trang Home.aspxV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.61Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptechusing System; using System.Web; public partial class Home : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Session.Contents ["TrangThai"].ToString () == "chuadangnhap") { Response.Redirect ("Login.aspx"); } } }Trang Home.aspx.cs void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started Session.Add ("TrangThai", "chuadangnhap"); } void Session_End(object sender, EventArgs e) { } Trang Global.asaxV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.62Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech System Login User name (asp.net): Password (123456): Trang Login.aspxusing System; public partial class Login : System.Web.UI.Page { protected void cmdLogin_Click (object sender, EventArgs e) { if (txtUserID.Text == "asp.net" && txtPassword.Text == "123456") { Session.Contents ["TrangThai"] = "DaDangNhap"; Response.Redirect ("Home.aspx"); } } }Trang Login.aspx.cs V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.63Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech2. Bi 2: To mt trang m s lng ngi truy cp.Dng bin tp text lu. Hng dn: To 2 trang l Index.aspx/cs v Global.asax vi ni dung sau: Trang Index.aspx Home Page - Hit counter Cho mng bn n website ca chng ti Trang Index.aspx.csusing System; public partial class Index : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { lblSLKhach.Text="Bn l v khch th: " + Application.Contents["SLTruyCap"].ToString(); } }Trang Global.asax void Application_Start(object sender, EventArgs e) { Application.Lock (); System.IO.StreamReader sr; sr = new System.IO.StreamReader (Server.MapPath ("SL.txt")); string S = sr.ReadLine (); sr.Close (); Application.UnLock (); //To mt bin Applciation l SLTruyCap v khi to gi tr S Application.Add ("SLTruyCap", S); }V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.64Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptechvoid Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { //Tng s lng ngi truy cp ln 1 khi c mt ngi mi thm Application.Contents ["SLTruyCap"] = int.Parse (Application.Contents ["SLTruyCap"].ToString ()) + 1; //Lu vo file SL.txt (m v ghi ) System.IO.StreamWriter sw; sw = new System.IO.StreamWriter (Server.MapPath ("SL.txt")); sw.Write (Application.Contents ["SLTruyCap"].ToString ()); sw.Close (); } void Session_End(object sender, EventArgs e) { } Sau khi to, chy file Index.aspx kim chng s thy rng s lng ngi truy cp lun lun tng ln bt k l server c tt hay my tnh b trc trc. y l cch c dng chnh thc m s lng lt ngi truy cp. Bn hon ton c th ci tin hin th s lng ngi truy cp bng hnh nh cho sinh ng hn.V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.65Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechBI 7: CNG NGH ADO.NETMc tiu: Kt thc bi hc ny, hc vin c th: To c c s d liu cho h thng qun l cn b S dng c cc lp truy xut ca ADO.NET Hin th d liu trn trnh duyt bng cc iu khin ASP Server controls. Hon thin chc nng Nhp h s cn b, trong c lu vo Database. I. L thuyt1. Gii thiu chungKhi pht trin cc ng dng trn nn web th cng vic ch yu phi gii quyt l x l cc nghip v, trong phn ln l x l C s d liu. Trong mi trng pht trin Microsoft .NET tt c cc ng dng webform hay winform u thng nht s dng chung mt b th vin truy xut v thao tc C s d liu gi l ADO.NET (Active Data Object). - ADO.NET l mt tp cc lp nm trong b th vin lp c s ca .NET Framework, cho php cc ng dng windows (nh C#, VB.NET) hay ng dng web (nh ASP.NET) thao tc d dng vi cc ngun d liu. - Mc tiu chnh ca ADO.NET l: Cung cp cc lp thao tc CSDL trong c hai mi trng l phi kt ni (Disconected data) v kt ni (Connected data). Tch hp cht ch vi XML (Extensible Markup Language) Tng tc vi nhiu ngun d liu thng qua m t d liu chung. Ti u truy cp ngun d liu (OLE DB & SQL server). Lm vic trn mi trng Internet. - Cc lp ca ADO.NET c t trong Namespace l System.Data/ System.Data.oledb - ADO.NET bao gm 2 Provider (2 b th vin thng dng) thao tc vi cc CSDL l: OLE DB Provider (nm trong System.Data.OLEDB) dng truy xut n bt k CSDL no c h tr OLEDB; SQL Provider (nm trong System.Data.SQLClient) chuyn dng truy xut n CSDL SQL Server (Khng qua OLE DB nn nhanh hn). Hin nay, cc hng th ba cn cung cp cc Provider khc nh : MySQL, Oracle provider cho php ng dng .NET truy xut n cc c s d liu khng phi ca Microsoft khc. - V tr ca ADO.NET trong kin trc ca .NET FrameworkV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.66Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechV tr ca ADO.NET trong kin trc ca .net Framework T kin trc ta thy rng: ADO.NET l mt thnh phn ni ti (Instrict) ca .NET framework, do vy n c th c s dng trong tt c cc ngn ng h tr .NET nh C#, VB.NET m khng c s khc bit no (Tc l cc chc nng cng nh cch s dng hon ton ging nhau).2. Kin trc ca ADO.NETADO.NET cho php lm vic c hai ch , ch Kt ni (Connected) v phi kt ni (Disconnected). B ba Connection, Command v DataReader: cho php lm vic ch Connected; cn DataAdapter, Connection, Command v Dataset lm vic ch Disconnected. Trong ch Connected th mi khi thao tc (nh sa, xa, thm) th u i hi ng dng phi kt ni v thao tc trc tip vi c s d liu (CSDL); cn trong ch Disconnected th vn c th thm, sa, xa d liu trn i tng cc b; khng nht thit phi kt ni ngay n CSDL (Xem m hnh di).V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.67Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech~ RecordsetMdb; mdf, XML3. Cc lp thao tc vi CSDL: Connection, Command,.3.1 Lp Connection + Chc nng: L i tng c nhim v thc hin kt ni n C s d liu cc i tng nh Command thao tc vi CSDL thng qua Connection ny. + Khai bo (c nhiu cch):public OleDbConnection Cn1; public OleDbConnection Cn2 = new OleDbConnection (); public OleDbConnection Cn3 = new OleDbConnection ("Provider=Microsoft.jet.....");Mt s phng thc: + Open: Dng m kt ni: Cnn.Open(): M kt ni n CSDL do ta ch nh trong ConnectionStringP.68V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Lu : sau khi gi phng thc Open, c th xem kt ni thanh cng hay khng thng qua thuc tnh State ca Connection: if (Cnn.State == 1) Kt ni thnh cng ! + Close(): Dng ng kt ni: Cnn.Close(); Thng th nn vit nh sau trnh li : if (Cnn.State == 1) Cnn.Close(); + GetSchema: Ly thng tin v CSDL (V d tn cc bng, cc trng trongbng)Mt s thuc tnh: + State: Cho bit trng thi kt ni. (ConnectionState.Open kt ni cm) + ConnectionString: Cha cc thng tin kt ni. V d v mt trang thc hin kt ni n CSDL C:\Nwind.mdbusing System; using System.Data; using System.Data.OleDb; public partial class Lession_12_Default : System.Web.UI.Page { /// /// Hm kt ni n C s d liu /// /// ng dn ti file MDB /// Tr v i tng OledbConnection hoc null public static OleDbConnection OpenDB (string DBName) { try { OleDbConnection Conn = new OleDbConnection ();Conn.ConnectionString="Provider=Microsoft.jet.oledb.4.0;data source="+DBName;Conn.Open (); return Conn; } catch (Exception ex) { return null; } } // Kt ni n c s d liu v thng bo kt qu kt ni trn mt Label. protected void Page_Load (object sender, EventArgs e) { OleDbConnection Conn; Conn = OpenDB (@"c: \Nwind.mdb");V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.69Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech if (Conn != null) { if (Conn.State = = ConnectionState.Open) lblThongBao.Text = " kt ni thnh cng ! " ; } else { lblThongBao.Text = "Khng th kt ni c !"; } } } Ch : Thng thng tp c s d liu c lu trong th mc App_Data. Khi c th kt ni n CSDL ny m khng cn bit th mc hin c t trong C:\ hay D:\ th cn vit ng dn ca tp nh sau:Conn = OpenDB (Server.MapPath("../App_Data/nwind.mdb"));V tr ca tp CSDL nwind.mdbV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.70Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech - Nu a cha tp CSDL c nh dng l NTFS v c t quyn truy cp th cn phi m bo rng th mc cha tp CSDL c quyn read/write cho ngi dng l IUSR_. (C th thay i quyn hoc ngi dng truy cp n th mc bng cch Right click ln th mc , chn Properties, tip theo chn th Security v Add thm ngi dng/ quyn..) 3.2 Lp Command Chc nng: Thc hin cc thao tc i vi CSDL, nh Insert, Update, delete, Select.Tuy nhin, thc hin c cc lnh ny th cn phi thng qua mt Connection no ang c m. Cch to (chnh tc):- OleDbCommand Cmd;Cmd = new OleDbCommand (); Cmd.CommandText = "Cu lnh SQL"; Cmd.Connection= OleDbConnection_Obj;Hoc vit gn hn: OleDbCommand Cmd=new OleDbCommand("Lnh SQL",OleDbConnection_Obj); Trong OleDbConnection_Obj l mt OleDbConnection m trc Open ri.Cu lnh SQL: l mt xu cha cu lnh SQL bt k. Mt s phng thc dng thc thi cu lnh SQL: int ExecuteNonQuery(): S dng khi CommandText trn thuc dng Insert,Delete, Update. Hm ny tr v s bn ghi b tc ng (affected).Object ExecuteScalar(): S dng khi CommandText trn l cu lnh SQL ch tr v mt kt qu n, v d cu lnh m tng s bn ghi : Select Count(*) Hm ny tr v hng v ct u tin ca kt qu thc thi truy vn. Cc hng v ct khc b b qua. OleDbDataReader ExecuteReader(): Dng khi CommandText l mt cu lnh chn (Select). Hm tr v l mt i tng OleDbDataReader cha kt qu thc thi cu lnh (thng l cu lnh Select). XMLReader ExecuteXMLReader(): Dng c d liu l mt tp XML. Phng thc ny ch p dng cho mt s Provider (v d SqlClient) Mt s thuc tnh CommandText: Cha cu lnh SQL cn thc thi, v d: "Select * from Employees","Insert into Employees (.) values (.)", "Delete from Employees where " Connection: cho bit l i tng Command s dng kt ni no. CommandType: Cho bit CommandText cha StoreProcedure, tn bng hay l cu lnh SQL. Mc nh thuc tnh ny c gi tr l Text.V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.71Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech V d: Xy dng mt trang web hin th tng s bn ghi ca bng Products trong c sd liu nwind.mdb.V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.72Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechDefault.aspx.csusing System; using System.Data; using System.Data.OleDb; public partial class Lession_12_Default : System.Web.UI.Page { // Kt ni n c s d liu v thng bo kt qu trn mt Label. protected void Page_Load (object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn=new OleDbConnection(); Conn.ConnectionString="Provider=Microsoft.jet.oledb.4.0; data source=" ; Conn.ConnectionString += Server.MapPath("../App_Data/nwind.mdb"); Conn.Open(); // To i tng Command v thc thi cu lnh m s bng ghi OleDbCommand Cmd; Cmd = new OleDbCommand (); Cmd.CommandText = "Select Count(*) from Products"; Cmd.Connection = Conn; // Hin th kt qu trn Label int SL = (int) Cmd.ExecuteScalar(); lblThongBao.Text = "S bn ghi trong bng Products: " + SL.ToString (); // Gii phng kt ni. Cmd.Dispose (); Conn.Close (); } }V d: Thm Tn nh cung cp vo bng Suppliers: Trang giao din Insert data V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.73Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Trang Code behind:using System; using System.Data; using System.Data.OleDb; public partial class Lession_12_Command_InsertData : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void cmdAdd_Click (object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn = new OleDbConnection (); Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source="; Conn.ConnectionString += Server.MapPath ("../App_Data/nwind.mdb"); Conn.Open (); // To i tng Command v thc thi cu lnh m s bng ghi OleDbCommand Cmd; Cmd = new OleDbCommand (); Cmd.CommandText = "Insert into Suppliers(CompanyName) values('" + txtNCC.Text + "')"; Cmd.Connection = Conn; Cmd.ExecuteNonQuery (); Cmd.Dispose (); Conn.Close (); } }3.3 Lp DataReader Chc nng: Dng n nhn kt qu tr v t phng thc ExecuteReader ca itng Command. N tng t nh mt Recordset ca ADO, tuy nhin d liu nhn v l Readonly v ch c theo chiu tin. Mt s phng thc: Bool Read(): Thc hin vic c mt bn ghi (mt hng) trong kt qu, sau chuyn ti bn ghi tip theo. Hm ny tr v true nu vn cn d liu, false nu c ht. DataTable: GetTableSchema() Tr v mt dataTable m t thng tin v DataReader nh tn cc ct. String: GetName(int i) Tr v tn ca ct iV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.74Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechGetInt(int i), GetString(int i),, GetXXX(int i) Tr v gi tr ca ct i v chuyn v dng Int, String, Mt s thuc tnh: Boolean: HasRows cho bit l DataReader c cha d liu hay khng ? int FieldCount Cho bit s trng (Ct) ca DataReader. Bin DataReader v d Dr cho php c d liu ca tng (ct/ trng) cahng hin hnh nh sau: Dr["Tn trng"/ hoc ch s]. V d : Np Tn ca tt c sn phm trong bng Products v a vo mt ListBox.Trang giao din: OleDbDataReader demo Danh mc sn phm Trang Code Behindusing System; using System.Data; using System.Data.OleDb; public partial class Lession_12_DataReader : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn = new OleDbConnection (); Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source="; Conn.ConnectionString += Server.MapPath ("../App_Data/nwind.mdb"); Conn.Open (); // To i tng Command v thc thi cu lnh m s bng ghi OleDbCommand Cmd; Cmd.CommandText = "Select ProductName from Products"; Cmd.Connection = Conn;V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.75Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechOleDbDataReader Dr; /// Dr = Cmd.ExecuteReader ();khng c new//Duyt v a vo lstDSSP while (Dr.Read() == true) { lstDSSP.Items.Add (Dr ["ProductName"].ToString()); } Cmd.Dispose (); Conn.Close (); } }Cu hi: Vit lstDSSP.Items.Add (Dr [0].ToString()) c c khng ?. 3.7 Lp DataColumn Chc nng: L mt thnh phn to nn DataTable. Khai bo:DataColumn Dc; Dc = new DataColumn (Tn_Ct); Hoc, to ct v ch nh kiu d liu cho ct: DataColumn Dc; Dc = new DataColumn ("Hello", System.Type.GetType(Tn_Kiu)); Trong Tn_Kiu c th l String, Int32, . Mt s phng thc: Mt s thuc tnh: Caption: Tiu ca ct ColumnName: Tn ca ct. V d :To mt ct c tn l H tn, kiu String, Tui kiu Int:DataColumn Dc_HVT; Dc_HVT = new DataColumn ("HoVaTen", System.Type.GetType ("String")); Dc_HVT.Caption = "H v tn"; DataColumn Dc_Tuoi; Dc_HVT = new DataColumn ("Tuoi", System.Type.GetType ("Int32")); Dc_HVT.Caption = "Tui";3.8 Lp DataTable Chc nng: Qun l d liu dng bng 2 chiu (Cc hng v cc ct).V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.76Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Khai bo:DataTable Dt ; Dt=new DataTable(); hoc Dt = new DataTable("Tn_Bng"); Mt s phng thc: DataRow NewRow() : Tr v mt i tng DataRow; Clear(): Xa tt c cc d liu trong DataTable Mt s thuc tnh: Columns: L mt tp hp, qun l ton b cc ct (Thm, xa, sa) caDataTable. Columns li c cc phng thc thm/xa ct.Rows: L mt tp hp, qun l ton b cc hng trong DataTable. Rows cng c cc phng thc thm/xa hng. Truy xut n [i,j] ca bng: Tn_Bng.Rows[i][j]. C th dng vng lp kiu nhfor (i=0; i < Dt.Rows.Count; i++) for (j=0; j < Dt.Columns.Count; j++) { Dt.Rows[i][j] } duyt ton b cc trong Table. V d : To mt bng c 2 ct l H tn (Kiu String) v Tui (Kiu Int32).DataColumn Dc_HVT; Dc_HVT = new DataColumn ("HoVaTen", Type.GetType ("String")); Dc_HVT.Caption = "H v tn"; DataColumn Dc_Tuoi; Dc_HVT = new DataColumn ("Tuoi", Type.GetType ("Int32")); Dc_HVT.Caption = "Tui"; DataTable Dt ; Dt=new DataTable(); Dt.Columns.Add (Dc_HVT); // To ct h tn nh vo Column trn Dt.Columns.Add(Dc_Tuoi); // To ct tui. Hoc c th thm ngn gn hn:Dt.Columns.Add("HoVaTen",Type.GetType("String"));3.9 Lp DataRow Chc nng: L mt i tng qun l mt hng ca mt DataTable. Khai bo: DataRow Dr; Lu : V Dr ph thuc vo bng (DataTable) nn nDataRow Dr=new DataRow() !!!ch c to ra bi mt DataTable c sn, khng th to DataRow theo kiu: Truy xut cc ct () trong mt DataRow nh sau: Dr[Ch s] hoc Dr[Tn_Ct]. Trong Dr: l mt bin kiu DataRowV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.77Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech V d : To mt bng c hai ct H tn v Tui, sau chn vo bng ny 2 bn ghi cgi tr tng ng l {"Nguyn Vn An", 30} v {"Nguyn Vn Bnh", 20}... DataTable Dt ; Dt=new DataTable(); Dt.Columns.Add (Dc_HVT); Dt.Columns.Add(Dc_Tuoi); DataRow Dr; Dr = Dt.NewRow (); // To mt hng trng Dr ["HoVaTen"] = "Nguyn Vn An"; Dr ["Tuoi"] = 30; Dt.Rows.Add (Dr); // Thm vo bng Dr = Dt.NewRow (); // To mt hng trng Dr ["HoVaTen"] = "Nguyn Vn Bnh"; Dr ["Tuoi"] = 20; Dt.Rows.Add (Dr); // Thm vo bng ..3.10 Lp DataSet Chc nng: L mt i tng cha cc DataTable. N l ni lu tr d liu tm thicho ng dng trong qu trnh x l. Lp DataSet ny nm trong System.Data. 0 1 2DataSet Object Khai bo: DataSet Ds; DataSet Ds = new DataSet(); Mt s phng thc: Mt s thuc tnh: Tables: Cha tt c cc bng cha trong Dataset. Tables[i] hoc Tables[Tn_Bng] : Tham chiu n mt bng c th trong Dataset. V d : Xem v d mc 13.3.11V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.78Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 3.11 Lp DataAdapter Chc nng: ng vai tr cu ni / Chuyn i d liu gia Ngun d liu (DataSource)v cc i tng thao tc d liu (nh DataSet chng hn). Mt s phng thc: Fill (DataSet, Tn_Cho_DataSet): in d liu ly c vo DataSet. Update(DataSet/DataTable) : Cp nht d liu trong DataSet,DataTable ngc tr v C s d liu. Mt s thuc tnh: SelectCommand, UpdateCommand, DeleteCommand, InsertCommand: tr v hoccho php thit lp cc cu lnh SQL Chn (Select), Cp nht (Update), Delete, Insert vo C s d liu. V d:Hin th ton b bng Suppliers ra mn hnhTrang giao din DataSet demo Danh sch nh cung cp Trang Codeusing System; using System.Data; using System.Data.OleDb; public partial class Lession_12_DataSet : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn = new OleDbConnection (); Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source="; Conn.ConnectionString += Server.MapPath ("../App_Data/nwind.mdb"); Conn.Open ();V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.79Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech// To i tng Command v select ton b bng Suppliers OleDbCommand Cmd; Cmd = new OleDbCommand (); Cmd.CommandText = "Select * from Suppliers"; Cmd.Connection = Conn; OleDbDataAdapter Da; Da=new OleDbDataAdapter(); Da.SelectCommand=Cmd; DataSet DsNCC = new DataSet (); Da.Fill (DsNCC, "DS_NCC"); // Hin th trn mt bng dgrNCC.DataSource = DsNCC.Tables ["DS_NCC"]; dgrNCC.DataBind (); } }V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.80Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechII. THC HNH1. To c s d liuTo c s d liu Access QLCB.MDB c nhng bng vi cu trc nh sau: Bng tblCanBo Bng Bng cp: tblBangCap Bng phng ban: tblPhongBan Bng trnh chuyn mn: tblChuyenMon Bng chc v: tblChucVuV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.81Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Bng ngi dng Mi quan h gia cc bng (Ch chn Cascading Update/ Delete khi to)2. Nhp d liu cho bng. y ch hng dn cch nhp mu cho bng tblUser, v bng ny cha c d liu dng Xu, s, bool, datetime. Hc vin to cc bng khc mt cch tng t. 2.1 Thit k trang giao din (Ch : Cc trang cn phi c gn vo trong h thng giao din c xy dng bi trc, v d: a vo MasterPage) Trang giao din NhapNguoiDung.aspx Nhp thng tin ngi dng .CanPhai {text-align:right; font-style:italic} V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.82Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Nhp thng tin ngi dng Tn ng nhp Mt khu Quyn hn 1 2 3 4 5 Ghi ch V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.83Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech 2.2 Vit code behind. NhapNguoiDung.aspx.csusing System; using System.Data; using System.Data.OleDb; public partial class Lession_13_NhapNguoiDung : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void cmdThem_Click (object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn = new OleDbConnection (); Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source="; Conn.ConnectionString += Server.MapPath ("../App_Data/QLCB.mdb"); Conn.Open (); string strSQL; string TenDN=txtUserName.Text; string MatKhau=txtPassword.Text; string GhiChu=txtGhiChu.Text; string NgayTao=DateTime.Now.Month.ToString() +"/" + DateTime.Now.Day.ToString(); NgayTao += "/" + DateTime.Now.Year.ToString(); int QuyenHan=int.Parse(ddlQuyenHan.Text); strSQL="Insert into tbluser(TenDangNhap, MatKhau, QuyenHan, NgayTao, GhiChu) "; strSQL += " values ('" + TenDN + "','" + MatKhau + "'," + QuyenHan + ",'" + NgayTao + "','" + GhiChu +"')"; // To i tng Command v select ton b bng Suppliers OleDbCommand Cmd; Cmd = new OleDbCommand (); Cmd.CommandText = strSQL; Cmd.Connection = Conn; Cmd.ExecuteNonQuery (); txtUserName.Text = ""; txtPassword.Text = ""; txtGhiChu.Text = ""; ddlQuyenHan.Text = "1"; txtUserName.Focus (); } }V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.84Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech3. Hin th d liu trong bng ln trnh duyt3.1 Trang giao din HienThiNguoiDung.aspx Danh sch ngi dng Danh sch ngi dng 3.2 Trang code behind Trang HienThiNguoiDung.aspx.csusing System; using System.Data; using System.Data.OleDb; public partial class Lession_13_HienThi : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn = new OleDbConnection (); Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source="; Conn.ConnectionString += Server.MapPath ("../App_Data/QLCB.mdb"); Conn.Open (); // To i tng Command v select ton b bng Suppliers OleDbCommand Cmd; Cmd = new OleDbCommand (); Cmd.CommandText = "Select * from tblUser"; Cmd.Connection = Conn; OleDbDataAdapter Da; Da = new OleDbDataAdapter (); Da.SelectCommand = Cmd; DataSet DsNCC = new DataSet (); Da.Fill (DsNCC, "DS_USer"); // Hin th trn mt bng dgrDSNS.DataSource = DsNCC.Tables ["DS_USer"]; dgrDSNS.DataBind (); } }V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.85Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech4. Cp nht d liu bng DataSet v DataAdapter cp nht d liu vo trong CSDL, ta c th dng cu lnh SQL dng nh "UPDATE WHERE ." v thc thi bng phng thc ExecuteNonQuery ca i tng Command. Tuy nhin cn c mt cch khc cp nht na, l dng phng thc Update ca i tng DataSet v DataAdapter. M hnh dng nh sau:Cc bc cn phi thc hin khi Update bng DataAdapter: 1. To kt ni n CSDL 2. To i tng Command v t cu lnh Select cho thuc tnh CommandText. Vic t cu lnh Select y l v sau DataAdapter bit c cc trng ca bng gm nhng trng no ? 3. in (Fill) d liu vo mt DataSet. 4. Chnh sa d liu trong cc bng ca DataSet 5. To mt th hin ca CommandBuilder (OleDBCommandBuilder/ SqlCommandBuilder) 6. Gi phng thc Update ca DataAdapter cp nht thc s vo Database. V d: Sa i trng thi ng nhp (Trng TrangThai) ca tt c ngi dng trong bng tblUser thuc c s d liu QLCB.mdb thnh 1. Trang giao dinUpdatewithDataAdapter.aspx Cp nht d liu thng qua Data Adapter Sa trng thi ng nhp thnh 1 Trang code behind: UpdatewithDataAdapter.aspx.cs using System; using System.Data; using System.Data.OleDb; public partial class Lession_13_UpdatewithDataAdapter : System.Web.UI.Page { protected void cmdEnableAllUser_Click (object sender, EventArgs e) { // To i tng Connection v m kt ni n CSDL OleDbConnection Conn; Conn = new OleDbConnection (); Conn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0; data source="; Conn.ConnectionString += Server.MapPath ("../App_Data/QLCB.mdb"); Conn.Open (); // To i tng Command v select ton b bng tblUser OleDbCommand Cmd; Cmd = new OleDbCommand (); Cmd.CommandText = "Select * from tbluser"; Cmd.Connection = Conn; OleDbDataAdapter Da; Da = new OleDbDataAdapter (); Da.SelectCommand = Cmd; // in d liu vo DataSet DataSet Ds=new DataSet(); Da.Fill(Ds,"DSND"); // Sa d liu ca bng tblUser trong Dataset for (int i=0; i < Ds.Tables["DSND"].Rows.Count; i++) { Ds.Tables["DSND"].Rows [i]["TrangThai"] = 1; } //Cp nht tr li C s d liu OleDbCommandBuilder CmdBuilder = new OleDbCommandBuilder (Da); Da.Update (Ds,"DSND"); /// Cp nht bng DSND trong Ds vo C s d liu //Gii phng cc i tng khng cn s dng Cmd.Dispose (); Da.Dispose (); Conn.Close ();V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.87Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech} }BI 8: Tm hiu v ng dng c ch Data BindingMc tiu: Kt thc bi thc hnh, hc vin c th: c v hin th d liu s dng c ch DataBinding c v hin th d liu s dng c ch DataBinding v iu khin SqlDataSource Cp nht d liu s dng SqlDataSource v GridView. I. L thuyt1 Gii thiu DataBindingASP.NET cung cp cho chng ta rt nhiu iu khin cho php hin th cng nh tip nhn thng tin t ngi dng. C nhng iu khin cho php chng ta hin th nhng thng tin tnh (Static tc l gi tr xc nh c ngay khi lp trnh), mt s hin th c c nhng thng tin ng (Dynamic - tc l c tnh ton khi chy chng trnh). vic hin th thng tin ng ny mt cch n gin v nhanh chng, ASP.NET cung cp cho chng ta mt c tnh gi l "Data Binding" (Tm dch: "Gn kt d liu"). Thut ng Data Binding y c hiu l "Gn/ lin kt cc iu khin vi mt ngun d liu no hin th, thao tct ng". T "Data" cng cn phi c hiu theo ngha rng, n khng nht thit phi l ci g lin quan n C s d liu nh ta thng ngh m c th l mt thuc tnh, mt mng, mt tp hp, mt danh sch, mt trng d liu trong bng CSDL.hay tng qut l mt biu thc tr v gi tr. im khc bit chnh ca c ch Data binding so vi cc c ch lin kt d liu khc l tnh khai bo. Vic khai bo ny khng phi trong file Code behind (*.CS) m l trong file giao din (*.ASPX). iu ny lm cho code v iu khin tch bit v sng sa hn. Bi hc ny s gii thiu c tnh Databinding bng cc iu khin ASP.NET Server.2 Data Binding2.1 Dng gn kt d liu n (Single DataBinding) Trong ASP.NET, c th gn mt gi tr n l vo trang c gi l Single Data Binding. C php gn d liu n vo trang nh sau: . Trong : Gi_Tr c th l mt hng, mt bin, mt hm, mt biu thc hoc c th l mt thuc tnh khc. V d:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.88Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech Data Binding demo Hng s:
Hng xu:
Biu thc:
Hm :
Thuc tnh khc: C th gn kt ti mt biu thc, mt bin, thuc tnh bt k. Ch : Trong th tc Page_Load cn thm lnh this.DataBind() thc s gn kt. 2.2 Dng gn kt d liu c s lp li (Repeated Data Binding) C rt nhiu trng hp d liu cn hin th l mt danh sch (V d Mng, bng, DataReader,) hay tng qut l mt tp hp cc mc (Collection Items ). Trong trng hp nh vy, ta hon ton c th dng c ch DataBinding trong ASP.NET gn kt qu vo mt iu khin dng danh sch (V d ListBox, DropdownList, CheckboxList,) hin th m khng cn phi vit nhiu dng code. Cc iu khin cho php gn kt d liu thng c 3 thuc tnh vi cc ngha nh sau: DataSource: L thuc tnh ch n ngun d liu cn gn kt. Ngun d liuny phi l mt tp hp. V d: DataTabe, Array, DataSourceID: Ch n mt i tng cung cp ngun d liu. C th s dnghoc thuc tnh DataSourceID hoc DataSource nhng khng c c hai. DataTextField: Cho bit l gn kt vi trng no ca mi mc d liu.V d 1: To mt mng c 100 phn t (t 0 n 99), sau hin th trn mt Listbox thng qua c ch DataBinding:V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.89Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn AptechTrang giao din: ArrayBinding.aspx Ch : V y mi mt phn t ca mng ch c mt gi tr duy nht, do vy trong 3 thuc tnh DataSource, DataSouceID v DataTextField ta ch cn t gi tr duy nht l DataSouce khi thc hin bind mng ny vo ListBox hin th. C th nh trong trang Code behind sau y. Nhc li rng, vic Bind d liu thc s din ra, ta cn gi phng thc DataBind ca iu khin hoc DataBind ca trang (Nu gi phng thc DataBind ca trang th tt c cc iu khin con thuc trang s t ng gi phng thc DataBind ca ring n).Trang Code v kt qu: ArrayBinding.aspx.cs V d 2: Dng c ch DataBind, hin th tt c tn ng nhp trong bng tblUser thuc CSDL QLCB.MDB vo mt ListBox: V2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319 P.90Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm Hng Yn Aptech DataReader Binding Danh sch ngi dng Trang giao dinV2.0 http://www.aptech.utehy.vn; [email protected]; Tel: 03213-713.319P.91Ti liu kha hc lp trnh web vi ASP.NET Bin son: Trung tm