You are on page 1of 73

1

CC K HIU, VIT TT K hiu, vit tt


ADO.NET
API

Ch thch
Microsoft's ActiveX Data Objects.Net
Application Programming Interface

ASP.NET C# CLR
CTS

Active Server Pages.NET C-Sharp Common Language Runtime


Common Type System

FTP HTML HTTP IE IIS MSIL RAD SQL URL XML

File Transfer Protocol HyperText Markup Language HyperText Transfer Protocol Internet Explorer Internet Information Services Microsoft Intermediate Language Rapid Application Development Structure Query Language Uniform Resource Locator Extensible Markup Language

MC LC
PHN I. NHNG KHI NIM C BN ................................................. 5
CHNG 1. GII THIU CHUNG ............................................................... 5 1.1. Mt s khi nim c bn .......................................................................... 5 1.2. Gii thiu cc th HTML ......................................................................... 8 CHNG 2. THIT K CC NG DNG WEB ...................................... 13 2.1. Xc nh nhu cu.................................................................................... 13 2.2. T chc thng tin ................................................................................... 15 2.3. Thit k cu trc ng dng web ............................................................. 15 2.4. Pht trin cc lc duyt cc trang web............................................ 15

PHN II. MT S CNG C THIT K WEB .................................. 18


CHNG 3. GII THIU Microsoft FrontPage 2003................................ 18 3.1. Gii thiu................................................................................................ 18 3.2. Khi ng Microsoft FrontPage 2003 ................................................... 18 3.3. Mt s thao tc vi tp ........................................................................... 19 3.4. t thuc tnh cho trang ......................................................................... 19 3.5. nh dng font, nh dng on............................................................. 21 3.6. To siu lin kt ..................................................................................... 22 3.7. To cc im dng (Bookmark) trong trang.......................................... 23 3.8. Chn cc i tng vo trang web......................................................... 23 3.9. Chn bng vo trang web ....................................................................... 23 CHNG 4. GII THIU ASP.NET............................................................ 25 4.1. Gii thiu ASP.NET............................................................................... 25 4.2. S khc bit gia ASP.NET v ASP...................................................... 25 4.3. S lc v .NET Framework ................................................................. 25 4.4. Khi ng Microsoft Visual Studio 2005 .............................................. 26 4.5. To mt Web site mi ............................................................................ 27 4.6. To Master Page..................................................................................... 29 CHNG 5. GII THIU NGN NG LP TRNH C# ......................... 32 5.1. Gii thiu................................................................................................ 32 5.2. Bin v Hng.......................................................................................... 32 5.3. Kiu d liu tin nh ngha................................................................... 33 5.4. Cu lnh iu kin.................................................................................. 36 5.5. Vng lp (Loops) ................................................................................... 36 5.6. Mng (Arrays) ........................................................................................ 38 5.7. S dng cc ghi ch ............................................................................... 39 5.8. T nh danh v t kho ........................................................................ 40

CHNG 6. CC IU KHIN, I TNG TRONG ASP.NET ....... 41 6.1. Mt s iu khin c bn ....................................................................... 41 6.2. iu khin kim tra d liu nhp vo .................................................... 46 6.3. Cc i tng trong ASP.NET............................................................... 47 CHNG 7. TRUY CP C S D LIU .NET....................................... 51 7.1. Tng quan v ADO.NET ....................................................................... 51 7.2. S dng cc Database Connection ......................................................... 54 7.3. S dng hiu qu cc Connection .......................................................... 55 7.4. Cc Transaction (giao dch) ................................................................... 57 7.5. Commands.............................................................................................. 58 7.6. Executing Commands ............................................................................ 59 7.7. Data Tables............................................................................................. 60 7.8. To mt DataSet..................................................................................... 64 PH LC .......................................................................................................... 67 I. CU HNH WEBSERVER....................................................................... 67 II. NHNG ON JAVASCRIP VO TRANG WEB .............................. 70

PHN I. NHNG KHI NIM C BN


CHNG 1. GII THIU CHUNG Ni dung: Mt s khi nim c bn Gii thiu cc th HTML 1.1. Mt s khi nim c bn 1.1.1. Mt trang Web V kha cnh no trang Web ging mt trang vn bn. L b su tp gm vn bn, hnh nh, m thanh, c t chc mt cch lin tc. di trang Web khng gii hn v mt vt l. C kh nng lin kt trc tip vi cc trang Web khc. Thit k trn bt k phn mm son tho vn bn no. ng dng Web tn ti 2 dng: o Web tnh: C kch bn trnh khch o Web ng: C kch bn trnh ch Cho d Web tnh hay Web ng, khi trnh by trn trnh duyt ch dng cc th HTML. Website ng v website tnh khc nhau nh th no?
Website Tnh u im o Tc truy cp nhanh. o Cc my ch tm kim d nhn din website. o Ngi qun tr d dng thay i cp nht thng tin bt c lc no mt cch n gin, gn nh tt c nhng ngi dng internet u c th lm c. o C thc hin nhng vn phc tp c th l tnh ha n, qun l n hng, thanh ton online, so snh, tm kim sn phm theo yu cu c th ... o S lng cc trang ph thuc vo s lng thng tin m khch hng cp nht, cc trang ny s t ng pht sinh theo cc mc tng ng v c lin kt vi nhau. Website ng

Nhc im o Thay i thng tin kh khn o Tc truy cp chm hn website tnh (mt nhiu thi gian v i l do l m lnh ca website ng cn hi c mt s k nng s dng webserver bin dch m lnh lp trnh html, phn mm ftp). Do thnh cc th html (HyperText Make up 5

khng c m lnh lp trnh v vy vic cp nht, thay i ni dung thng tin ca website mang nng tnh th cng nn cn nhiu thi gian. o S lng cc trang thng tin theo l thuyt l khng gii hn nhng vi s trang cng ln cng tn nhiu thi gian chng hn cn thm mt trang thng tin th phi sa tt c nhng trang cn li.

Language_ngn ng nh du siu vn bn) ri mi chuyn n my ca ngi lt web.

Cch thc cp nht thng tin o X l trc tip vo cc file o Thng qua ti khon qun tr admin, html thng qua ti khon ftp khi ng nhp s xut hin chc nng a ln internet. cng c qun tr tng ng vi quyn hn ca mi ngi qun tr. iu ny lm cho vic kim sot thng tin cng nh cp nht, thay i rt n gin.

1.1.2. Trang ch (Home Page) L mt trang Web c bit, l im vo ca mt Website. To n tng u tin vi ngi duyt Web Lin kt n cc trang khc. Cha cc ni dung chnh 1.1.3. Website Website l mt tp cc trang Web c kt ni vi nhau bng cc siu lin kt. mt website hot ng c cn phi c 3 yu t c bn: o Cn phi c tn min (domain). o Ni lu tr website (hosting). o Ni dung cc trang web hoc c s d liu thng tin 1.1.4. Khi nim HTML HTML (HyperText Markup Language) HTML khng phi l mt ngn ng lp trnh nh Pascal, C, N khng th to ra cc chng trnh ng dng dng trc tip ngn ng my. HTML l ngn ng nh du siu vn bn to ra cc lin kt gia cc trang vn bn a dng vi nhau v lin kt vi cc Multimedia nh phim, hnh nh, m thanh,

1.1.5. Trnh duyt Web (Web Browser) Phn mm phin dch nh du ca cc file bng HTML, nh dng chng sang cc trang Web, v th hin chng cho ngi dng. c th th hin c mt trang Web ng ngha, cn phi c mt trnh duyt Web. Cc trnh duyt Web lm cho Internet tr nn thn thin v d s dng hn vi ngi dng. Mt s trnh duyt thng dng hin nay: Internet Explorer, Netscape, Mozilla Firefox, 1.1.6. Giao thc (Protocol) Giao thc l mt phng thc truy cp Web ca trnh duyt. Http: (HyperText Transfer Protocol: giao thc truyn ti siu vn bn). y l giao thc c bn m World Wide Web s dng. HTTP xc nh cch cc thng ip (cc file vn bn, hnh nh ho, m thanh, video, v cc file multimedia khc) c nh dng v truyn ti ra sao, v nhng hnh ng no m cc Web server (my ch Web) v cc trnh duyt Web (browser) phi lm p ng cc lnh rt a dng. Chng hn, khi bn g mt a ch Web URL vo trnh duyt Web, mt lnh HTTP s c gi ti Web server ra lnh v hng dn n tm ng trang Web c yu cu v ko v m trn trnh duyt Web. Hay ni cch khc, HTTP l giao thc truyn ti cc file t mt Web server vo mt trnh duyt Web ngi dng c th xem mt trang Web ang hin din trn Internet. File:// l giao thc truy cp trang Web ngay trn my ca ngi dng. FTP: (File Transfer Protocol: giao thc truyn tp) l mt giao thc dng ti ln (upload) cc file t mt trm lm vic (workstation) hay my tnh c nhn ti mt FTP server hoc ti xung (download) cc file t mt my ch FTP v mt trm lm vic (hay my tnh c nhn). y l cch thc n gin nht truyn ti cc file gia cc my tnh trn Internet. Khi tip u ng ftp xut hin trong mt a ch URL, c ngha rng ngi dng ang kt ni ti mt file server ch khng phi mt Web server, v mt hnh thc truyn ti file no s c tin hnh. Khc vi Web server, hu ht FTP server yu cu ngi dng phi ng nhp (log on) vo server thc hin vic truyn ti file. FTP hin c dng ph bin upload cc trang Web t nh thit k Web ln mt my ch host trn Internet, truyn ti cc file d liu qua li gia cc my tnh trn Internet, cng nh ti cc chng trnh, cc file t cc my ch khc v my tnh c nhn. Dng giao thc FTP, bn c th cp nht (xa, i tn, di chuyn, copy) cc file ti mt my ch.

1.1.7. URL URL (Uniform Resource Locator) dng ch ti nguyn trn Internet. Sc mnh ca web l kh nng to ra nhng lin kt siu vn bn n cc thng tin lin quan. Nhng thng tin ny c th l nhng trang web khc, nhng hnh nh, m thanh... Nhng lin kt ny thng c biu din bng nhng ch mu xanh c gch di c gi l anchor. Cc URL c th c truy xut thng qua mt trnh duyt (Browser) nh IE hay Netscape. V d: Mt URL c dng http://www.vinhuni.edu.vn Nh a ch URL m ta c th t bt k mt my no trong mng Internet truy nhp ti cc trang web cc website khc nhau. 1.2. Gii thiu cc th HTML 1.2.1. Gii thiu Cc lnh ca HTML n gin ch l cc m nh du nh dng gi l cc th (Tags). Bt u th bng du nh hn "<", kt thc th bng du ln hn ">", trong c tn th v thuc tnh ca th nu c. HTML khng phn bit ch hoa hay ch thng trong tn th. Tn th khng cha khong trng. Gia cc thuc tnh ca tn th cch nhau 1 du cch trng. Th HTML c hai loi Loi c th m km th ng C php: <TagName> Content </TagName> V d: <Title>My Website</Title> <b>Dng ch ny m</b> Loi c th m, khng c th ng C php: <TagName> V d: <br> //xung dng, a con tr v u dng 1.2.2. Cc th HTML c bn 1.2.2.1. Cu trc trang web
<html> <head>...</head> <body>...</body> </html> <title>...</title>

Cu trc HTML Cu trc c bn cho mi ti liu HTML

Tiu trang web bn trong <head>...</head> Ch thch Cc ghi ch v thng tin trong phn body nhng khng c browser hin th
8

<!-- comment -->

<body>...</body>

Th body Tt c cc thng tin c khai bo trong th ny u c th xut hin trn trang Web. Mu Nn C nh nh mu nn cho trang web Thit lp nh nn Dng mt hnh nh lm nn cho trang web

<body bgcolor=#XXXXXX> <body background= "filename.gif">

1.2.2.2. Cc th nh dng vn bn
<Hn>...</Hn>

Th cc mc tiu Tiu cc mc c kch c khc nhau, vi n=1..6. Kiu ch t kiu ch m, nghing, hay typewriter (ch nh my). Kiu ch gach di v gch ngang a ch Vn bn cui c in nghing Blockquote Vn bn tht vo trong cho cc ch gii Vn bn Preformatted Hin th dng ch nh my gi nguyn cc khong trng v du xung dng. K t c bit M cho k t c bit v cc du ph Kch thc Phng i kch thc ca on vn vi X=1..7. Kch thc Phng i kch thc phng ln hn hay nh hn kch thc thng thng. Mu Phng i mu on vn c chn vi RRGGBB l m mu h thp lc phn ca tr mu RGB.

<b>...</b> <i>...</i> <tt>...</tt> <u>...</u> <strike>...</strike> <address>...</address>

<blockquote>... </blockquote> <pre>...</pre>

&xxxx;

<font size=X>... </font> <big>...</big> <small>...</small>

<font color=#RRGGBB> ... </font>

<sup>...</sup> <sub>...</sub>

Superscript/Subscript To superscript (v d x3 + 2xy + y2 = 0) hay subscript (v d H2SO4) Paragraph Sang on mi cng vi mt dng trng Line Break Sang dng mi, khng thm dng trng Hard Rule Sang dng mi v to mt ng phn cch. Chnh l gia Chnh tt c vo gia trang

1.2.2.3. Phn on v ngt qung vn bn


<p> ... </p>

<br>

<hr>

<center>... </center> <p align=center>... </p> <div align= left|center|right> ... </div> <table>...</table>

Division Chnh mi th v bn tri, vo gia, hay v bn phi ca trang

To Bng Bng n gin v ng vin c dy <table border=X bng mt im n v cc ng chia cellpadding=Y cch cc phn t. B qua thuc tnh cellspacing=Z>... border, hay thit lp border=0 to ra </table> bng khng nhn thy c. Cc thuc tnh cho tag <td> chnh l <tr>...</tr> theo hng v ct bn trong mt . Cc <td thuc tnh rowspan v colspan c th s align=left|center|right valign=top|middle|bottom dng to cc c m rng ra hn so vi mt bnh thng. rowspan=X colspan=Y
</td>

1.2.2.4. Cc th danh sch


<ul> <li> <li> </ul> <ol> <li> <li> </ol>

Danh Sch Danh sch khng c th t <ul> to cc mc c bullet, danh sch c th t <ol> to cc mc c nh th t
10

<ul type=xxxx> <li type=xxxx>

Bullet cho Danh sch Khng c th t nh li dng bullet mc nh:


o

type=circle type=square type=disc

<ol type=X> <li type=X>

Kiu nh th t cho Danh sch C th t S dng cc k t khc nhau cho danh sch: type=1 (1, 2, 3...) type=A (A, B, C,...) type=a (a, b, c,...) type=I (I, II, III,...) type=i (i, ii, iii,...)

1.2.2.5. Chn siu lin kt


<a href="file.htm"> hypertext</a>

Lin kt Siu vn bn Cc b Lin kt n ti liu khc trong cng th mc Lin kt Siu vn bn Cc b Lin kt n ti liu khc th mc c tn l "data" nm trong th mc c ti liu HTML gi Lin kt Siu vn bn Cc b Lin kt n ti liu khc trong th mc cao hn mt cp so vi th mc c ti liu HTML gi Lin kt Siu vn bn ca Internet Lin kt n mt Site Internet khc, c ch nh bi URL (Uniform Resource Locator) Lin kt Siu Hnh nh ca Internet To siu lin kt cho nh. Thm thuc tnh border=0 hy b hp bao quanh hnh nh Lin kt Mail ca Internet To mt thng bo email n a ch c ch nh
11

<a href="data/file.htm"> hypertext</a>

<a href="../file.htm"> hypertext</a>

<a href="URL"> hypertext</a>

<a href="url"> <img src="file.gif" border=0></a>

<a href="mailto: "abc@xyz.edu">... </a>

1.2.2.6. Chn cc i tng khc


<img src="file.gif"> <img src="file.gif" alt="###" align=top|middle|bottom| left|right height=x width=y>

Chn hnh nh Hin th mt hnh bn trong trang web. + src (source) l tn ng dn, hay URL ca tp tin hnh nh; + alt (alternative) l vn bn hin th cho cc browser khng th hay khi ngi s dng tt vic np hnh; + align iu khin v tr ca hnh v vn bn quanh n (top/middle/bottom chnh l mt dng ca vn bn theo sau; left/right t hnh vo mt bn trang cn bn kia l vn bn); + height v width l chiu cao v chiu rng ca hnh tnh bng im. Chn dng ch chy + behavior: cc kiu chy + direction: hng ch chy + height: chiu cao + width: rng

<marquee behavior=alternate|scrol l|slide direction=left|right|up| down height="102" width="102"> marquee text </marquee>

Cu hi n tp: Khi nim mt trang web, website, trang ch, cc th HTML S khc bit gia HTTP v FTP? Website ng v website tnh khc nhau nh th no?

12

CHNG 2. THIT K CC NG DNG WEB Ni dung: Xc nh nhu cu T chc thng tin Thit k cu trc ng dng web Pht trin lc duyt cc trang web 2.1. Xc nh nhu cu Mc ch ca ng dng web l g? Bc u tin trong cng on thit k mt Web site l chng ta c nhng quyt nh chc chn v vic chng ta s "xut bn" ci g vi Web site ca mnh. Khng c ch nh v mc tiu r rng th c web site s tr nn lan man, sa ly v cui cng i n mt im kh c th quay tr li. Thit k cn thn v nh hng r l nhng cha kho dn n thnh cng trong vic xy dng mt Web site. Trc khi xy dng mt Web site, chng ta nn: Xc nh i tng c gi ca web site. Web site c mc ch r rng. Thit lp cc ch chnh ca web site. Thit k cc khi thng tin ch yu m web site s cung cp. Chng ta cng nn bt u vi vic xc nh ngun ti nguyn v ni dung, hnh nh thng tin m chng ta cn n to nn web site ph hp vi mc ch c ra - l ngun thng tin s duy tr cho web site hot ng sau ny na. N c d nh dng lm g? + o to Cc ng dng o to trn c s cng ngh web rt c trnh t trong mt thit k, c rt t c hi i lc t trang gii thiu chnh. ng lm c gi v c mc ch ca chng ta b ln xn bi cc mi lin kt ra ngoi thng tin ch cht. Gii hn cc lin kt bng nt "Tip tc", hay "Quay v trang trc" m bo mi c gi s nhn thy cng mt gio trnh, cho php chng ta d on chnh xc hn thi gian truy nhp ca ngi c. i a s gio trnh gi thit thi gian truy nhp di mt gi, hoc s c phn on thnh cc phn t hn mt gi. Chng ta cng nn thng bo cho ngi c v lng thi gian ca bi ging, hoc cng lu h ng i xa khi phn chnh ca bi ging nu bi ging cn phi tr tin c.

13

Cc ng dng o to loi ny thng yu cu s ng nhp (login) ca c gi, v cng thng s dng cu hi dng form c tr li ng/sai hoc theo dng la chn cu tr li t mt danh sch. Thng tin v c gi, bng im c lu tr trong c s d liu c lin kt vi web site. + Dy hc Trong cc ng dng dy hc da trn cng ngh web, thng tin c trnh by thng tinh t v c chiu su hn l trong cc ng dng o to. Cc mi lin kt l mt mnh ca web, tuy nhin chng c th l mt s gy ri cho cc hc sinh t trang trnh by chnh. Nu chng ta cho php ngi c lin kt n cc ti nguyn web khc ngoi web site ca chng ta, chng ta nn nhm cc lin kt trong trang ny cch bit khi phn thng tin chnh. Thng thng ngi c mun in thng tin trn web v s c chng sau ny. Chng ta nn cung cp cho h mt phin bn "in" ring, trong cc trang ring bit, ngn s c gp li thnh mt trang di. + Gio dc Cc c gi t hc hi, t khm ph s bc mnh vi phong cch thit k qu thu gn, qu trnh t. Thng thng cc c gi nhm ny thng c trnh cao. Thit k mt cu trc uyn chuyn, c tng tc, khng n iu l l tng i vi cc c gi ny, do rt kh on nh chnh xc ch no s c quan tm nht i vi mt gio s hay vi mt sinh vin, k s. Thit k cng phi cho php truy nhp nhanh n mt phm vi rng cc ch , v thng cng rt phong ph vi cc lin kt n cc thng tin c lin quan, trn web site ca chng ta hay trn cc web site khc. Cc danh sch dng text ca cc lin kt cng rt thch hp cho cc mc lc, bn ch s v chng c np xung nhanh, y thng tin, nhng cho nhm c gi ny li d chn, v th cn c hnh nh ho thit k p, thay i cng cc minh ho i km thng tin. Thi gian truy nhp khng th d on c, nhng thng ngn hn cc site cho o to, gio dc v c gi thng khn cp. La chn cho in n cng l bt buc phi c cho cc c gi ny. + Tham kho Cc web site tham kho c thit k tt cho php ngi c nhanh chng i thng vo vn , tm ci h cn v sau d dng in hoc lu gi ci h tm thy. Thng thng thng tin khng phi l cc "cu chuyn", do cu trc ca n hon ton khng c trnh t. Cu trc menu, ni dung nht nh phi c t chc cn thn h tr tm kim, thu nhn nhanh, d lu gi cc file, in n khi cn. Cn gi cc hnh nh ho nh thi gian np xung nhanh, v chng ta cng nn nghin cu, p dng phn mm tm kim thay v ch cung cp mt danh sch cc lin kt. Thi gian lin kt cng ngn cng tt.
14

Cc mc tiu ca ng dng web ny l g? Trc tin cn c mt tuyn b khi qut ngn v r rng cho cc mc tiu ca web site, iu s gip rt nhiu cho cng vic thit k. N l im xut pht chng ta m rng n cc mc tiu chnh, v cng l mt cng c hu hiu nh gi s thnh cng ca mt web site. Xy dng mt web site l c mt qu trnh lin tc, n khng n thun ch l mt d n duy nht, mt ln vi cc thng tin tnh. Vic bin tp, qun l v duy tr k thut di hn nht nh phi bao trm ln k hoch xy dng web site. Thiu iu ny, tng lai ca mt web site s cng s phn ging nh bao nh vn, nh bo, y lng say m bui ban u, nhng chng c kt qu cui cng no c. 2.2. T chc thng tin T chc theo mt trt t ni dung r rng T chc theo th t t in T chc theo thi gian T chc theo khng gian 2.3. Thit k cu trc ng dng web Vic t chc thng tin ra sao s quyt nh cu trc ca ng dng web. Cu trc phn cp: o L cch tip cn truyn thng t trn xung. o u tin phi xy dng cc hng mc mc cao, sau s sp xp cc ti liu thuc cc hng mc con. Cu trc siu vn bn: o Cc vn bn hoc cc bc nh c kt ni vi cc vn bn v ho khc. o Cc kt ni ny c th c cc v tr bt k trong trang v to ra kh nng chuyn nhanh ti d liu c kt ni. Cu trc kiu c s d liu: o Xy dng cc trang thng tin t mt c s d liu khi cc thng tin ny c yu cu. 2.4. Pht trin cc lc duyt cc trang web 2.4.1. Pht trin cc lc Lc duyt ca ng dng web ph thuc rt nhiu vo cu trc m ta xy dng. nh hng trc tip n vic di chuyn ca ngi s dng trong trm Web. Vic truy cp vo cc thng tin trnh by. Tnh n gin hay phc tp khi truy cp cc thng tin cng quyt nh rt nhiu n thnh cng ca trang Web.
15

2.4.2. Mt s cu trc Web a. Cu trc tuyn tnh n gin, hin th thng tin mt cch tun t Thng tin c sp theo th t logic hoc thi gian Nu nhiu thng tin th s tr nn phc tp

b. Cu trc phn cp D dng truy xut thng tin D dng phn tch, d dng xy dng Cu trc r rng

c. Cu trc mng nhn T khm ph, t do tng i vi c gi Khai thc trit nng lc lin kt v kt hp ca Web. Kh hiu, kh d on i vi c gi truy cp Web.

16

d. Cu trc li T chc cc thng tin lin quan vi nhau. Kh hiu vi c gi khng xc nh c mi quan h gia nhng thng tin .

e. So snh cc cu trc

Cu hi n tp: Bt u xy dng mt ng dng web chng ta cn xc nh nhng yu cu g? Cc cch t chc thng tin khi thit k ng dng web So snh cc cu trc web thng dng Nu mt s cu trc web khng nn s dng, v sao?

17

PHN II. MT S CNG C THIT K WEB


CHNG 3. GII THIU Microsoft FrontPage 2003 Ni dung: Gii thiu Khi ng Microsoft FrontPage 2003 Mt s thao tc vi tp t thuc tnh cho trang nh dng font, nh dng on To siu lin kt To cc im dng (Bookmark) trong trang Chn cc i tng vo trang Chn bng vo trang web 3.1. Gii thiu Ngn ng HTML trnh by trong phn web tnh gip bn hiu c c php ca ngn ng to trang web v h tr cho bn lp trnh web ng. Trong thc t bn khng cn thit phi lm nhng trang web tnh bng cch cng phu g vo tng th ca HTML v c cc cng c to ra trang web mt cch trc quan. Bn ch s dng HTML ch khi no thy rng cng c ca bn dng khng th hin c nhng iu bn mong mun. Sau y l mt s cng c ph bin hin nay: Microsoft FrontPage, Microsoft Word, Dreamweaver,... Vi s ra i ca cc cng c son tho trang web l cho vic to ra mt trang web khng cn kh khn v mt nhiu thi gian na. Vn t ra l trang web phi p v trang nh cng vi nhng thng tin phong ph. Vn ny ph thuc hon ton vo s t chc v nng khiu thm m ca bn. 3.2. Khi ng Microsoft FrontPage 2003 Start/Programs/Microsoft Office/Microsoft Office FrontPage 2003

18

Chn cch th hin th mc v trang web: click View v chn Page (Folder). xem, sa cc th HTML: Chn tab Code son tho trang web khng dng lnh HTML: Chn tab Design xem s lc kt qu trang web: Chn tab Preview th hin ch va son tho, va xem cc lnh HTML: Chn tab Split 3.3. Mt s thao tc vi tp 3.3.1. To mt tp mi Vo File, chn New Blank page: To mt trang mi Text file: to mt tp text From existing page: to mt trang mi ly ni dung t tp tn ti More page templates.. to mt trang mi t cc mu c sn.

3.3.2. Lu li tp Vo File, chn Save (Ctrl + S) G tn tp vo File name, chn Save 3.3.3. M tp lu Vo File, chn Open (Ctrl + O) Chn tp cn m, Open 3.3.4. ng tp Vo File, chn Close Nu cha lu tp, xut hin hp thoi o Yes: lu tp v thot o No: khng lu tp o Cancel: khng ng tp

3.4. t thuc tnh cho trang Vo File, chn Properties 3.4.1. Tab General

19

Title: Tiu trang web Page description: m t trang Background sound: t nhc nn cho trang (Chn vo Forever nu mun lp i lp li nhc nn)

3.4.2. Tab Formating Background picture: chn nh nn cho trang (Browse: chn nh) Color: nh dng mu nn, mu ch, mu lin kt, ... mc nh

3.4.3. Tab Advanced Margin: t khong cch l Top Margin: khong cch l trn Left Margin: Khong cch l tri Bottom Margin: Khong cch l di Right Margin: Khong cch l phi

20

3.4.4. Tab Language Page language: ngn ng mc nh cho trang web HTML encoding: chn Unicode (UTF-8) lu nh dng trang web theo Unicode.

3.5. nh dng font, nh dng on 3.5.1. nh dng font Vo Format, chn Font Font: cc font ch Unicode Font Style: cc kiu ch (Regular: bnh thng; Italic: nghing; Bold: m) Size: kch c ch Color: mu ch

3.5.2. nh dng on

21

Vo Format, chn Paragraph Alignment: cn l Indentation: x dch l Spacing: khong cch gia cc on Line spacing: khong cch gia cc hng trong on

3.6. To siu lin kt Bi en vng cn to siu lin kt Vo Insert, chn HyperLink G trang web hoc URL Address Target Frame: o Same Frame: M trang lin kt ngay trn trang hin ti o New Windows: M trang lin kt trong ca s mi. Bookmark: To lin kt ti im dng

22

3.7. To cc im dng (Bookmark) trong trang to lin kt n cc phn ni dung trong cng 1 trang web ta phi to bookmark cho mi phn ni dung trong trang web ch cn nhp vo mc lc cc phn ni dung l nhy ngay n phn ni dung tng ng. Mun to cc lin kt ni ti trong trang ta phi to cc im dng (bookmark) trc. Cc bc to bookmark nh sau: Di chuyn con tr ti v tr cn to im dng Chn chc nng Insert/Bookmark t tn cho im dng v click OK. Mun xo 1 bookmark no th chn bookmark c trong danh sch v nhp Clear. Mun nhy n 1 bookmark nh ngha th chn bookmark v click nt Goto. Nu mun lin kt ti im dng ny ch cn thc hin thao tc to Hyperlink n bookmark. 3.8. Chn cc i tng vo trang web Chn nh: Insert\Picture\From file Chn mt ng ngang: Insert\Picture\Horizontal Line Chn dng ch chy: Insert\Web Component\ Dynamic Effects\Marquee o Direction: hng o Speed: tc o Behavior: kiu chy o Size: kch c

3.9. Chn bng vo trang web Ngi ta thng dng table : o Hin th cc thng tin c dng dng/ct, v d nh bng thi kha biu, thng tin sn phm, .. o Trnh by (layout) cc vn bn (text) v cc nh ha (graphics).
23

Cc bc thc hin Table\Insert\Table Rows: s hng Columns: S ct Layout: nh dng bng o Alignment: Cn l o Specify width: nh rng cho bng o Specify height: nh chiu cao cho bng Border: ng vin cho bng Background o Color: mu nn cho bng o User background picture: chn nh nn cho bng

Bi tp: Tham kho cc trang web trn internet, xy dng mt s mu giao din web sau: Trang web tin tc Trang web nghe nhc Trang web bn hng Trang web tm kim

24

CHNG 4. GII THIU ASP.NET Ni dung: Gii thiu ASP.NET S khc bit gia ASP.NET v ASP S lc v .NET Framework Khi ng Microsoft Visual Studio 2005 To mt Web site mi 4.1. Gii thiu ASP.NET ASP.NET c vit tt t Active Server Pages.NET. Ni n gin ASP.NET l mt cng ngh c tnh cch mng dng pht trin cc ng dng v mng hin nay cng nh trong tng lai. ASP.NET l mt phng php t chc hay khung t chc (framework) thit lp cc ng dng ht sc mnh cho mng da trn CLR (Common Language Runtime) ch khng phi l ngn ng lp trnh. Ngn ng lp trnh dng din t c th l VB.NET, C#,... 4.2. S khc bit gia ASP.NET v ASP Tp tin ca ASP.NET c phn m rng l .ASPX, cn tp tin ca ASP l .ASP. Tp tin ca ASP.NET c phn tch ng php (parsed) bi XSPISAPI.DLL, cn tp tin ca ASP c phn tch bi ASP.DLL. ASP.NET l kiu mu lp trnh pht ng bng s kin (event driven), cn cc trang ASP c thi hnh theo th t tun t t trn xung di. ASP.NET s dng trnh bin dch (compiled code) nn rt nhanh, cn ASP dng trnh thng dch (interpreted code) do hiu sut v tc pht trin cng km hn. ASP.NET h tr nhiu ngn ng lp trnh mi vi .NET v chy trong mi trng bin dch (compiled environment), cn ASP ch chp nhn VBScript v JavaScript nn ASP ch l mt ngn ng kch bn (scripted language) trong mi trng thng dch (interpreter environment). Khng nhng vy, ASP.NET cn kt hp nhun nhuyn vi XML (Extensible Markup Language) trao i cc thng tin qua mng. ASP.NET h tr tt c cc trnh duyt (browser) v quan trng hn na l h tr cc thit b di ng (mobile devices). Chnh cc thit b di ng, m mi ngy cng ph bin, khin vic dng ASP trong vic pht trin mng nhm vn ti th trng mi tr nn v cng kh khn. 4.3. S lc v .NET Framework Mi chc nng ASP.NET c c hon ton da vo .NET framework, do c ch .NET trong ASP.NET. Ta cn phi hiu r kin trc h tng ca
25

.NET framework dng ASP.NET mt cch hiu qu, trong quan trng nht l Common Language Runtime (CLR) v .NET Framework Class. a) CLR (Common Laguage Runtime) L mi trng c dng qun l s thi hnh cc m ngun m ta son ra v bin dch trong cc ng dng. Tuy nhin khi bin dch m ngun, ta li bin dch chng ra thnh mt ngn ng trung gian gi l Microsoft Intermediate Language (MSIL). Chnh ngn ng trung gian MSIL ny l ngn ng chung cho tt c cc ngn ng .NET hin c. Trong khi bin dch, cc ng dng cng sn xut ra nhng thng tin cn thit, ta gi nhng thng tin ny l metadata. n khi ta chy mt ng dng, CLR s tip qun (take-over) v li bin dch (compile) ngun m mt ln na ra thnh ngn ng gc (native language) ca my vi tnh trc khi thi hnh nhng cng vic c b tr trong ngun m . Thc hin qun l b nh, qun l thc thi tiu trnh, thc thi m ngun, xc nhn m ngun an ton, bin dch v cc dch v h thng khc. Ngoi ra n cn m bo cho vic thc hin cho vic bo mt. b) .NET Framework Classes iu quan trng nht m ta cn phi nh l mi th trong .NET u l i tng. Cc i tng c t chc li thnh tng nhm ring bit nh trong mt th vin ta d dng s dng. Ta gi cc nhm nh vy l khng gian tn (namespaces), v ta s dng nhng khng gian tn ny gi hay nhp cc lp (classes) cn thit cho ng dng ca mnh. Mt namespace khng ch l mt nhm cc kiu d liu, m n lm cho tn ca tt c cc kiu d liu trong cng mt khng gian tn s c tip u ng l tn ca namespace . N cng cho php mt khng gian tn nm trong mt khng gian tn khc. V d, hu ht cc h tr chung ca cc th vin lp c s .NET u nm trong mt khng gian tn gi l System. Lp c s Array nm trong khng gian tn ny c tn y l System.Array. 4.4. Khi ng Microsoft Visual Studio 2005 Start/Program Microsoft Visual Studio 2005/Microsoft Visual Studio 2005

26

4.5. To mt Web site mi

Chn ASP.NET Web site Language: Chn ngn ng lp trnh (C#, VB.NET)

27

Design: Ch thit k Source: Ch xem cc th ASP.NET V d: Xut hin dng vn bn trn trang web.

Thc hin (F5), ta c ni dung trang web nh sau:

28

4.6. To Master Page 4.6.1. Gii thiu Master pages yu cu 2 phn ring bit, phn master page v phn ni dung (content). Phn master page xc nh giao din v cc iu hng, v d cc thng tin chung (cc thng tin c xut hin trn tt c cc trang ca site). Trang ni dung l trang cha cc thng tin ring bit m bn mun th hin. Khi mt trang c hin th trn trnh duyt, master page s trn hai trang li vi nhau, kt hp gia trang giao din t master page v ni dung t trang thng tin ring bit . Bng cch s dng master page, bn c th trnh khi vic to li cc thng tin chung trn mi trang. Hn na, nu bt k khi no bn quyt nh thay i ni dung giao din ca ton b cc trang, bn ch cn thay i trong trang master page. Mt s c im ni bt ca master page o Gim thiu thi gian thit k v cc ti nguyn bng cch ch thit k nhng thng tin chung trong tp master page. o Ngi thit k c th to ra cc trang c mu ging nhau bng cch tham chiu n master page mc nh. Mi khi trang master thay i, giao din ca trang tham chiu n cng thay i theo. o S dng master page c th ci thin vic qun l website, bi v bn c th thay i giao din ca website bng cch thay i trong master page. Bn khng cn phi thay i trn ton b cc trang trong site ca bn.

29

4.6.2. Cc bc thc hin Vo Website, chn mc Add New Item Xut hin hp thoi (xem hnh) o Chn Master Page, t tn mc Name o Chn ngn ng th hin mc Language o Chn Add

Xy dng trang MasterPage.master vi cu trc nh sau

30

Cc phn ngoi vng ContentPlaceHolder s c gi nguyn khi to mt trang mi to mt trang mi c cu trc tng t trang MasterPage.master, chng ta thc hin cc bc sau: o M trang MasterPage.master o Trong menu Website, chn Add Content Page o Mt trang mi c to ra c cu trc ging nh trang MasterPage.master, chng ta ch c php chnh sa trong phn Content ca trang mi c to (xem hnh).

Cu hi n tp: 1. Nu s khc bit gia ASP v ASP.NET 2. Cc thnh phn chnh trong .NET framework 3. Cch thc hin mt ng dng ASP.NET 4. u im khi to Master Page

31

CHNG 5. GII THIU NGN NG LP TRNH C# Ni dung: Gii thiu Bin v Hng Kiu d liu tin nh ngha Cu lnh iu kin Vng lp Mng S dng cc ghi ch T nh danh v t kha 5.1. Gii thiu C# m t mt ngn ng hin i hng i tng (object-oriented). N c thit k ch n vic din t C++ theo kiu lp trnh v pht trin nhanh ng dng RAD (Rapid Application Development) chng hn nh Microsoft Visual Basic, Delphi, C++ Builder. C# c kin trc bi Anders Hejlsberg, ngi vit nn trnh bin dch Pascal v c nhiu ng gp cho ngn ng Delphi cng nh Java. V do s tin trin ca C# chu nh hng bi cc ngn ng nh C++, SmallTalk, Java v cc ngn ng khc. Trc ht, mi th trong C# u l i tng. C# khng quan tm n d liu ton cc hay hm ton cc. Tt c d liu v phng thc trong C# c cha trong khai bo: cu trc (struct) hoc lp (class). Tt c d liu v phng thc thao tc trn d liu cn c ng gi nh mt n v chc nng, cc n v chc nng ny l nhng i tng c th c s dng li, chng c lp v c th t hot ng. 5.2. Bin v Hng 5.2.1. Bin Mt bin dng lu tr gi tr mang mt kiu d liu no . C php C# sau y khai bo mt bin : [ modifier ] datatype identifer ; Vi modifier l mt trong nhng t kho: public, private, protected, . . . cn datatype l kiu d liu (int , long , float. . . ) v identifier l tn bin. Th d di y mt bin mang tn i, kiu s nguyn int v c th c truy cp bi bt c hm no. public int i; Ta c th gn cho bin mt gi tr bng ton t "=". i = 10 ; Ta cng c th khai bo bin v khi to cho bin mt gi tr nh sau : int i = 10;
32

Nu ta khai bo nhiu bin c cng kiu d liu s c dng nh sau: int x = 10, y = 20; 5.2.2. Hng Mt hng (constant) l mt bin nhng gi tr khng th thay i c sut thi gian thi hnh chng trnh. i lc ta cng cn c nhng gi tr bao gi cng bt bin. Th d const int a = 100; // gi tr ny khng th b thay i Hng c nhng c im sau : Hng bt buc phi c gn gi tr lc khai bo. Mt khi c khi gn th khng th vit chng ln. Gi tr ca hng c tnh ton vo lc bin dch, do khng th gn mt hng t mt tr ca mt bin. Nu mun lm th th phi s dng n mt read-only field. Hng bao gi cng static, tuy nhin ta khng th a t kho static vo khi khai bo hng. C ba thun li khi s dng hng trong chng trnh ca bn : Hng lm cho chng trnh c d dng hn, bng cch thay th nhng con s v cm bi nhng tn mang y ngha hn. Hng lm cho d sa chng trnh hn. Hng lm cho vic trnh li d dng hn, nu bn gn mt tr khc cho mt hng u trong chng trnh sau khi bn gn gi tr cho hng, th trnh bin dch s thng bo li. 5.3. Kiu d liu tin nh ngha C# l mt ngn ng c kim sot cht ch v mt kiu d liu, ngoi ra C# cn chia cc kiu d liu thnh hai loi khc nhau: kiu tr (value type) v kiu qui chiu (reference type). Ngha l trn mt chng trnh C# d liu c lu tr mt hoc hai ni tu theo c th ca kiu d liu. Th nht l stack mt vng nh dnh lu tr d liu c chiu di c nh, chng hn int chim dng 4 bytes. Mi chng trnh khi ang thi hnh u c cp pht ring mt stack ring bit m cc chng trnh khc khng c tc ng ti. Khi mt hm c gi hm thi hnh th tt c cc bin cc b ca hm c a vo stack v khi hm hon thnh cng tc th nhng bin cc b ca hm u b ly ra. y l cch thu hi khi hm ht hot ng. Th hai l heap, mt vng nh dng lu tr d liu c kch c thay i, string chng hn, hoc d liu c mt cuc sng di hn phng thc ca mt i tng chng hn, th d khi phng thc th hin (instantiate) mt i tng, i tng c lu tr trn heap, v n khng b y ra khi hm hon thnh ging nh

33

stack, m nguyn ti ch v c th trao cho cc phng thc khc thng qua mt qui chiu. C# cng h tr kiu con tr (pointer type) ging nh C++ nhng t khi dng n v ch dng khi lm vic vi on m unmanaged. on m unmanaged l on m c to ra ngoi mi trng .NET, chng hn nhng i tng COM. 5.3.1. Kiu gi tr c nh ngha trc (Predefined Value Types) Kiu d liu bm sinh (The built-in value types) trnh by ban u nh integer v floating-point numbers, character, v boolean types. Cc kiu Integer: C# h tr 8 kiu d liu s nguyn sau: Name
sbyte short int long byte ushort uint ulong

CTS Type
System.SByte System.Int16 System.Int32 System.Int64 System.Byte

Description
8-bit signed integer 16-bit signed integer

Range (min:max)
-128:127 (-27:27-1) -32,768:32,767 (-215:215-1) -9,223,372,036,854,775,808: 9,223,372,036,854,775,807 (-263:263-1) 0:255 (0:28-1) 0:65,535 (0:216-1) 0:4,294,967,295 (0:232-1) 0:18,446,744,073,709,551,615(0:264-1)

32-bit signed integer -2,147,483,648:2,147,483,647 (-231:231-1) 64-bit signed integer 8-bit signed integer

System.UInt16 16-bit signed integer System.UInt32 32-bit signed integer System.UInt64 64-bit signed integer

Th d : long x = 0x12ab;// ghi theo hexa uint ui = 1234U; long l = 1234L; ulong ul = 1234UL; Kiu d liu s du chm ng (Floating Point Types)
Name Float CTS Type System.Single Description 32-bit single-precision floating- point 64-bit double-precision floating- point Significant Figures 7 15/16 Range (approximate) 1.5 10-45 to 3.4 1038 5.0 10-324 to 1.7 10308

Double System.Double

Th d: float f = 12.3F; Kiu d liu s thp phn (Decimal Type):


34

Name

CTS Type

Description 128-bit high precision decimal notation

Significant Figures 28

Range (approximate) 1.0 10-28 to 7.9 1028

decimal System.Decimal

Th d : decimal d = 12.30M ; //c th vit decimal d = 12.30m; Kiu Boolean :


Name Bool CTS Type System.Boolean Value true or false

Kiu Character Type:


Name char CTS Type System.Char Value Biu din k t Unicode 16-bit

5.3.2. Kiu tham kho tin nh ngha C# h tr hai kiu d liu c nh ngha trc:
Name object string CTS Type System.Object System.String Description The root type, from which all other types in the CTS derive (including value types) Cc k t Unicode Character Single quote Double quote Backslash Null Alert Backspace Form feed Newline Carriage return Tab character Vertical tab 35

Cc k t escape thng dng:


Escape Sequence \' \" \\ \0 \a \b \f \n \r \t \v

Kiu chui: i tng kiu string cha mt chui k t. Khi khai bo mt bin chui, chng ta s dng t kho string nh sau: string myString; Thng th phi gn gi tr cho mt bin kiu string: string myString = "Xin chao"; 5.4. Cu lnh iu kin 5.4.1. Cu lnh iu kin if C php nh sau:
if (dieu_kien) Cau_lenh_1; [else Cau_lenh_2;]

Nu c nhiu hn mt cu lnh thi hnh trong cu iu kin chng ta s a tt c cc cu lnh ny vo trong du ngoc mc ({ ...}). ngha: - Nu dieu_kien ng th thc hin Cau_lenh_1; - Ngc li th thc hin cc lnh Cau_lenh_2; 5.4.2. Cu lnh switch Cc cu lnh if nm lng rt kh c, kh g ri. Khi bn c mt lot la chn phc tp th nn s dng cu lnh switch. C php nh sau: switch (biu thc) { case biu thc rng buc: cu lnh cu lnh nhy [default: cu lnh mc nh] } 5.5. Vng lp (Loops) C# cung cp cho chng ta 4 vng lp khc nhau (for, while, do...while, v foreach) cho php chng ta thc hin mt on m lp li khi ng iu kin lp. 5.5.1. Vng lp for C php: for (initializer; condition; iterator) statement(s) Th d: on m sau s xut ra tt c s nguyn t 0 n 99:
36

for (int i = 0; i < 100; i++) { Console.WriteLine(i); }

5.5.2. Vng lp while C php: while (condition) statement(s); Th d :


bool condition = true; while (condition) { //Vng lp thc hin n khi condition sai //Thc hin cc cng vic condition = CheckCondition(); //CheckCondition() tr v kiu bool }

5.5.3. Vng lp do . . . while (The dowhile Loop)


bool condition; do { // Vng lp ny s thc hin t nht mt ln // thm ch nu cu iu kin sai } while (condition);

5.5.4. Vng lp foreach (The foreach Loop) Cho php bn duyt qua tt c cc phn t trong dy hoc cc tp hp khc, v tun t xem xt tng phn t mt.C php nh sau: foreach (type identifier in expression) statement; Th d:
foreach (int temp in arrayOfInts) { Console.WriteLine(temp); } foreach (int temp in arrayOfInts) { temp++; Console.WriteLine(temp); } 37

5.5.5. Cu lnh goto goto Label1; Console.WriteLine("This won't be executed"); Label1: Console.WriteLine("Continuing execution from here"); 5.5.6. Cu lnh break Ta dng cu lnh break khi mun ngng vic thi hnh v thot khi vng lp. 5.5.7. Cu lnh continue Cu lnh continue c dng trong vng lp khi bn mun khi ng li mt vng lp nhng li khng mun thi hnh phn lnh cn li trong vng lp, mt im no trong thn vng lp. 5.5.8. Cu lnh return Cu lnh return dng thot khi mt hm hnh s ca mt lp, tr quyn iu khin v pha hm gi (caller). Nu hm c mt kiu d liu tr v th return phi tr v mt kiu d liu ny; bng khng th cu lnh c dng khng c biu thc. 5.6. Mng (Arrays) Mng l mt cu trc d liu cu to bi mt s bin c gi l nhng phn t mng. Tt c cc phn t ny u thuc mt kiu d liu. Bn c th truy xut phn t thng qua ch s (index). Ch s bt u bng zero (0). C nhiu loi mng: mng mt chiu, mng nhiu chiu. C php : type[ ] array-name; th d: int[] myIntegers; // mng kiu s nguyn string[] myString ; // mng kiu chui ch Bn khai bo mng c chiu di xc nh vi t kho new nh sau:
int[] myIntegers = new int[32]; integers[0] = 35;// phn t u tin c gi tr 35 integers[31] = 432;// phn t 32 c gi tr 432 Bn cng c th khai bo nh sau: int[] integers; integers = new int[32]; string[] myArray = {"first element", "second element"};

5.6.1. Lm vic vi mng Ta c th tm c chiu di ca mng sau nh vo thuc tnh Length, xt v d sau:
38

int arrayLength = integers.Length Nu cc thnh phn ca mng l kiu nh ngha trc (predefined types), ta c th sp xp tng dn bng phng thc Array.Sort() Array.Sort(myArray); Chng ta c th o ngc mng c nh vo phng thc Reverse(): Array.Reverse(myArray);
string[] artists = {"Leonardo", "Monet", "Van Gogh", "Klee"}; Array.Sort(artists); Array.Reverse(artists); foreach (string name in artists) { Console.WriteLine(name); }

5.6.2. Mng nhiu chiu (Multidimensional Arrays) C php : type[,] array-name; Th d mun khai bo mt mng hai chiu gm hai hng ba ct vi phn t kiu nguyn : int[,] myRectArray = new int[2,3]; Bn c th khi gn mng xem cc v d sau v mng nhiu chiu:
//mng 4 hng 2 ct int[,] myRectArray = new int[,]{{1,2},{3,4},{5,6},{7,8}}; string[,] beatleName = { {"Lennon","John"}, {"McCartney","Paul"}, {"Harrison","George"}, {"Starkey","Richard"} };

chng ta c th s dng :
string[,,] my3DArray; double [, ] matrix = new double[10, 10]; for (int i = 0; i < 10; i++) { for (int j=0; j < 10; j++) matrix[i, j] = 4; }

5.7. S dng cc ghi ch phn ny chng ta xem phn thm cc ghi ch vo on m. C# s dng kiu truyn thng ca C hng n (// ...) v nhiu hng (/* ... */).
39

Mt chng trnh C# cng c th cha nhng dng ch gii. V d: // Ghi ch trn mt dng n v /* Ghi ch trn nhiu dng */ 5.8. T nh danh v t kho T nh danh l tn chng ta t cho bin, nh ngha kiu s dng nh cc lp, cu trc, v cc thnh phn ca kiu ny. C# c mt s quy tc nh r cc t nh danh nh sau: Bt u bng k t Khng c s dng t kho lm t nh danh Trong C# c sn mt s t kho (keyword).
abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while

40

CHNG 6. CC IU KHIN V CC I TNG TRONG ASP.NET Cc ng dng Web Forms bao gm nhiu iu khin (controls) khc nhau. Cc control ny c th n gin nh cc control Button v TextBox, hay chng c th tinh vi v phc tp hn nh cc control TreeView v GridView. Trong .NET framework c nhiu control sn sng kt hp vi cc ng dng Web Forms, v rt nhiu control c dng trong cc pht trin ng dng .NET tu bin. Visual Studio .NET c th thm cc control ny vo mt Web form cho bn. Mi control tha k t System.Web.UI.WebControls. Lp ny cha cc phng thc v cc thuc tnh c bn c dng bi bt k control no cung cp mt giao din cho ngi s dng. Cc thao tc vi cc controls Hin thanh Toolbox Ko v th controls vo web form

Controls

Ca s Properties: Nhp chut phi vo control, chn Properties

Thuc tnh

S kin

6.1. Mt s iu khin c bn 6.1.1. Label S dng Label hin th mt on vn bn trn trang web Mt s thuc tnh: o BackColor: To mu nn o BorderColor: Mu ng vin
41

o o o o o o

BorderStyle: Kiu ng vin Enabled: Cho php tc ng/khng tc ng n control Font: To font, kch c,... cho Label Text: on vn bn s hin th ToolTip: on vn bn s hin th khi r chut qua Label Visible: n/hin Label

6.1.2. Button S dng Button to mt nt v ngi dng nhp chut vo nt thc hin mt lnh no . S kin: o Click: s kin c thc hin khi ngi dng nhp chut vo button 6.1.3. Checkbox Thng s dng trong cc trng hp nhp gi tr kiu boolean (true, false), (yes, no). Mt s s kin: o CheckedChange o Load 6.1.4. Radio button Thng s dng ngi s dng chn mt trong cc gi tr. Mt s s kin: o CheckedChange o Load 6.1.5. DropDownList To mt danh sch tri xung khi ngi dng nhp chut vo, cho php ngi dng chn mt gi tr trong danh sch. Mt s thuc tnh: o Id: nh danh i tng o DataSource o DataTextField o DataValueField o Items Mt s s kin: o SelectedIndexChange o TextChanged o Load o DataBind
42

V d: Thm danh sch cc thng t 1

12 vo DropDownList1

for (int i = 1; i < 13; i++) DropDownList1.Items.Add("Thng " + i.ToString()); 6.1.6. Listbox Thng s dng ngi s dng chn mt hoc nhiu gi tr trong danh sch. Mt s thuc tnh: o Id: nh danh i tng o DataSource o DataTextField o DataValueField o Items Mt s s kin: o SelectedIndexChange o TextChanged o Load o DataBind V d: Thm danh sch cc thng t 1 12 vo ListBox1 for (int i = 1; i < 13; i++) ListBox1.Items.Add("Thng " + i.ToString()); 6.1.7. TextBox Thng s dng ngi dng nhp thng tin, hin th thng tin trn trang web. Mt s thuc tnh: o Id: nh danh i tng o TextMode (SingleLine, MultiLine, Password) Mt s s kin: o TextChange o Load 6.1.8. HyperLink Dng to siu lin kt trn trang web Mt s thuc tnh: o Id: nh danh i tng
43

o ImageUrl o NevigateUrl o Target Mt s s kin: o DataBinding o Load 6.1.9. Calendar Dng to lch trn trang web Mt s thuc tnh: o BackColor o BorderColor o DayHeaderStyle o DayStyle o Font o SelectedStyle o TitleStyle o TodayDayStyle o WeekendDayStyle 6.1.10. Image Dng a hnh nh ln trang web. Mt s thuc tnh: o Height o ImageAlign o ImageUrl o ToolTip o Visible o Width 6.1.11. GridView Hin th cc thng tin theo dng bng, mi ct biu din mt trng (field) v mi hng m t mt bn ghi (record). GridView cho php chng ta la chn, sp xp hay sa mi bn ghi. Mi ct trong GridView m t bi i tng DataControlField. Bng di y m t cc kiu ct c th dng: Column field type BoundField Description Hin th gi tr ca mt trng trong Data Source.

44

ButtonField CheckBoxField

Hin th mt nt (button) cho mi bn ghi trong GridView. Hin th mt CheckBox cho mi bn ghi trong GridView. Kiu ny thng p dng cho cc trng nhn gi tr Boolean (true, false). Hin th cc nt thc hin lnh chn, sa, xa Hin th gi tr ca mt trng trong Data Source nh l mt siu lin kt. Hin th nh cho mi bn ghi trong GridView Hin th cc ni dung do ngi lp trnh nh ngha cho mi bn ghi trong GridView.

CommandField HyperLinkField ImageField TemplateField

Mt s thuc tnh o DataSource: d liu ngun, c th ly t DataSet, DataTable o BackColor: mu nn o Caption: tiu o GridLine: cc kiu ng li Mt s s kin: PageIndexChanged Thc hin khi mt trang trong GridView c chn, nhng sau khi GridView chuyn trang.

PageIndexChanging Thc hin khi mt trang trong GridView c chn, trc khi GridView chuyn trang. RowCreated Thc hin khi mt hng mi c to ra trong GridView. S kin ny thng dng thay i ni dung mt hng khi hng c to ra. Thc hin khi nt Delete trong hng c nhn, nhng sau khi GridView xa bn ghi trong Data Source. S kin ny thng kim tra kt qu ca thao tc xa. Thc hin khi nt Delete trong hng c nhn, nhng trc khi GridView xa bn ghi trong Data Source. S kin ny thng hy b thao tc xa (nu cn). Thc hin khi nt Edit c trong hng c chn, nhng trc khi GridView chuyn sang trang thi hiu chnh. S kin ny thng hy b thao tc hiu chnh.
45

RowDeleted

RowDeleting

RowEditing

RowUpdated

Thc hin khi nhn vo nt Update, nhng sau khi GridView cp nht cc hng. S kin ny thng kim tra kt qu ca thao tc cp nht. Thc hin khi nhn vo nt Update, nhng trc khi GridView cp nht cc hng. S kin ny thng dng hy b thao tc cp nht.

RowUpdating

6.2. iu khin kim tra d liu nhp vo 6.2.1. RequiredFieldValidator Kim tra gi tr nhp vo ca control (TextBox), nu control cha c nhp gi tr, on chng trnh s ngng v thng bo li ErrorMessage. Mt s thuc tnh o ControlToValidate: chn control kim tra gi tr nhp vo o ErrorMessage: thng bo li nu control cha nhp thng tin o ForeColor: mu ca thng bo li 6.2.2. RangeValidator Kim tra gi gi tr nhp vo ti control, nu nhp cc gi tr ngoi gii hn, on chng trnh s ngng v thng bo li ErrorMessage. Mt s thuc tnh o ControlToValidate: chn control kim tra cc gi tr o ErrorMessage: thng bo li o ForeColor: mu ca thng bo li o Type: kiu d liu s kim tra control (string, integer, double, date, currency) o MinimumValue: gi tr b nht ( kim tra) o MaximumValue: gi tr ln nht ( kim tra)
//Kim tra gi tr nhp vo ca TextBox1 //Gii hn nhp cho php 1 10 RangeValidator1.ControlToValidate = "TextBox1"; RangeValidator1.Type = ValidationDataType.Integer; RangeValidator1.MaximumValue = "10"; RangeValidator1.MinimumValue = "1";

6.2.3. CompareValidator So snh gi tr nhp vo 2 control, nu khng bng nhau, chng trnh ngng v a ra thng bo ErrorMesssage. Mt s thuc tnh o ControlToCompare: chn control so snh

46

o ControlToValidate: chn control kim tra cc gi tr vi control so snh. o ErrorMessage: thng bo li o ForeColor: mu ca thng bo li
//Kim tra gi tr nhp vo ca TextBox1 v TextBox2 CompareValidator1.ErrorMessage = "Values are different"; CompareValidator1.ControlToCompare = "TextBox1"; CompareValidator1.ControlToValidate = "TextBox2";

6.2.4. RegularExpressionValidator Kim tra gi tr nhp vo ng theo mt biu thc Mt s thuc tnh o ControlToValidate: chn control kim tra cc gi tr vi control so snh o ErrorMessage: thng bo li o ValidationExpression: biu thc kim tra
//Kim tra gi tr nhp vo TextBox1, //gi tr nhp vo phi 5 ch s RegularExpressionValidator1.ControlToValidate = "TextBox1"; RegularExpressionValidator1.ValidationExpression="\d{5}"; RegularExpressionValidator1.ErrorMessage="Must be 5 numeric digits";

6.3. Cc i tng trong ASP.NET C rt nhiu i tng trong ASP.NET (ASP.NET Objects), trong chng ny chng ta ch xt 1 s i tng nh sau: Response Object Request Object Page Object Session Object Applictation Object 6.3.1. Response Object Response object cho php Server p ng, tr li hay thng tin vi Client. 6.3.1.1. Phng thc Write Phng thc Write ca Response object hin th dng ch trnh duyt web ca client. V d: Response.Write("Cho mng cc bn n vi ASP.NET!"); Response.Write("<br>"); Response.Write("<hr>");
47

6.3.1.2. Phng thc Redirect Phng thc Redirect dng chuyn sang mt trang Web khc mt cch gin tip. V d: Response.Redirect("http://vinhuni.edu.vn"); Response.Redirect("index.aspx"); 6.3.2. Request Object Request object dng thng tin gia Server v Client browser. Browser dng Request object gi thng tin cn thit ti Server. Ging nh Response, Request object l th hin ca HttpRequest. Nh vy, Request object i din cho Client khi yu cu trang Web, cn Server s dng Response v Request p ng yu cu hay i hi thng tin t Client. Mt ng dng quan trng ca Request object l thu thp thng tin ca Client browser. Thng, thng tin ca Client browser c gi i di dng form hay querystring (querystring: thng tin gi km vo phn ui ca request URL). V d dng querystring nh sau: http://vinhuni.edu.vn?id=10&p=2 Du ? ch th cho bit c thng tin nh km v & dng phn bit cc cp gi tr vi nhau. string id = Request.QueryString["id"].ToString(); string p = Request.QueryString["p"].ToString(); 6.3.3. Page Object Page object gm tt c thuc tnh (properties), phng thc (method) dng cho cc trang ASP.NET v xut x t Page class .NET framework. Page object gm mt s thnh phn nh sau: o Load o IsPostBack o Databind S kin Load dng khi ng khi trang Web bt u hin th browser. IsPostBack cho ta bit form trang Web c gi i ti cng trang Web hay khng? Databind ni kt mi d liu (data) t c s d liu (database) vi cng c (controls) trang Web.
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { DateTime myDate = DateTime.Now; Label1.Text = "The date, time is: " + myDate.ToString(); } }

6.3.4. Session Object Khi Client nhn c thng tin (information) t Server, qu trnh trao i qua li kt thc ngay tc khc. Sau , Server v Client khng cn kt ni
48

vi nhau, v th mun lu li mt s thng tin to kt ni li khi cn thit chng ta dng i tng Session. Session cho php ta lu gi thng tin di cc dng nh bin s (variables), objects, strings hay ... bt c loi thng tin no Server, khi no cn thit th ly cc thng tin kt ni li. Thng tin tn ti trong Session kt thc khi ngi dng thot khi trnh duyt hoc sang mt trang khc. V d:
//To mt s Session Session["Name"]="VinhUni"; Session["Course"]="ASP.NET"; Session["AMessage"]="Cho mng cc bn"; Session["ASPNET"]="Hello";

Ta dng i tng Session khi ta cn lu tr mt vi thng tin nh username hay password. Trong trng hp qu nhiu thng tin cn phi lu tr, chng ta nn dng cookies hay c s d liu (database) thch hp v hiu qu hn. Kim sot Session Object C nhiu cch kim sot i tng Session trong trang ASP.NET, c bn gm c: Timeout Abandon + Timeout dng b tr khong thi gian 1 Session c th tn ti trc khi ASP.NET hy b session , v d nh c ngi lt mng thm trang Web ri khng c tc ng g na, session v cc thng tin lin h hy b trong vng 20 pht. 20 pht ny l gi tr timeout mc nh (default) nu dng IIS Version 5.0, nu mun, ta c th thay i gi tr timeout thnh 60 pht chng hn: Session.Timeout = 60 Tuy vy, ta nn cn thn khi thay i gi tr timeout ny v: Mi user lt mng u c gn hay nh km 1 i tng Session duy nht lu tr trong b nh ca Server. V vy, nu t timeout qu di s tn b nh v khng bo mt. Mt khc, nht l i vi cc mng thng nghip (e-commerce site), nu b tr timeout qu ngn, cc sn phm c chn mua v t trong shopping cart s xo sch trc khi khch hng tin hnh th tc tr tin v nh vy gy tr ngi rt ln. Mt cch tng qut, timeout 20 pht l l tng. Tuy nhin, ta c th thay i gi tr ty theo tnh cht ca mng, i vi ngn hng (secure banking web site), timeout c th rt ngn nhng vi cc mng thng nghip, timeout s lu hn. + Abandon dng kt thc 1 session ngay tc khc. Th d, sau khi user kim tra email (Web Email) xong v logout ngi khc khng th li dng c mail, ta c th kt thc session bng cch: Session.Abandon(); Mnh lnh ny s xo sch cc cookie tm thi (temporary cookie) cng nh cc thng tin lin h.

49

6.3.5. Application Object Cng tng t nh i tng Response, ASP.NET to ra HttpApplication Object gi l Application ch khi no ng dng ca chng ta khi ng - ngha l khi c user yu cu tham kho trang Web ln u tin. Ch c duy nht mt Application object uc to ra cho ton b ng dng m thi, khng nh Session object c to ra ring bit cho tng user mt. Tuy vy, HttpApplication Object ging Session Object ch: HttpApplication Object cng c dng lu tr cc bin s v cc i tng. Cc bin s v cc i tng ny c hiu lc (available) cho ton b ng dng (application) ch khng c bit cho mt user nh i vi Session. V i tng Application chia s thng tin gia nhiu ngi s dng nn n c cc phng thc Lock v Unlock i km. Session
//To mt Session Session["username"] = txtUserName.Text.Trim();

Application
//Dng phng thc Lock v Unlock tng s ngi //ang truy cp vo trang web, trong tp Global.asax Application.Lock(); num_Online ++; Application["Number_Online"] = num_Online; Application.UnLock();

50

CHNG 7. TRUY CP C S D LIU .NET Trong chng ny, chng ta s bn v cch lm sao mt chng trnh C# s dng ADO.NET. Kt thc chng ny, chng ta s c c cc kin thc sau: Cc kt ni c s d liu - s dng cc lp SqlConnection v OleDbConnection kt ni v hu kt ni vi c s d liu. Cc lnh thc thi - ADO.NET cha mt i tng command, thc thi SQL, hoc c th pht ra mt stored procedure tr v cc gi tr. Cc ty chn khc ca i tng command s c bn k, vi cc v d cho tng tu chn c a ra trong cc lp Sql v OleDB. Tm hiu DataSet, DataTable, DataRow, v DataColumn,.. Ni dung: Tng quan v ADO.NET S dng cc Database Connection S dng hiu qu cc Connection Cc giao dch (Transaction) Commands Executing Commands Data Tables To mt DataSet 7.1. Tng quan v ADO.NET Ging nh hu ht cc thnh phn ca .NET Framework, ADO.NET khng ch l v bc ca mt vi API sn c. N ch ging ADO ci tn - cc lp v phng thc truy xut d liu u khc hon ton. ADO (Microsoft's ActiveX Data Objects) l mt th vin ca cc thnh phn COM tng c ca ngi trong mt vi nm tr li y. Cc thnh phn ch yu ca ADO l Connection, Command, Recordset, v cc Field object. Mt connection c th m c s d liu, mt vi d liu c chn vo mt recordset, bao gm cc trng, d liu ny sau c th thao tc, cp nhp ln server, v connection cn phi c ng li. ADO cng gii thiu mt disconnected recordset, ci c dng khi khng mun gi kp ni trong mt thi gian di. C mt vi vn vi ADO l s khng hi lng v a ch, s cng knh ca mt disconnected recordset. H tr ny khng cn thit vi s tin ho ca tin hc "web-centric", v vy n cn c loi b. C mt s ging nhau gia lp trnh ADO.NET v ADO (khng phi ci tn), v th vic chuyn t ADO sang ADO.NET khng qu kh khn.

51

ADO.NET cha hai khng gian tn c s d liu - mt cho SQL Server, v mt ci khc cho cc c s d liu c trnh by thng qua mt giao din OLEDB. Nu c s d liu ca bn chn l mt b phn ca OLEDB, bn c th d dng kt ni vi n t .NET - ch cn dng cc lp OLE DB v kt ni thng qua cc driver c s d liu hin hnh ca bn. 7.1.1. Cc khng gian tn (Namespace) Cc khng gian tn sau ch ra cc lp v cc giao din c dng cho vic truy xut d liu trong .NET: System.Data - Cc lp truy xut d liu chung System.Data.Common - Cc lp dng chung bi cc data provider khc nhau System.Data.OleDb - Cc lp ca OLE DB provider System.Data.SqlClient - Cc lp ca SQL Server provider System.Data.SqlTypes - Cc kiu ca SQL Server

7.1.2. Cc lp dng chung ADO.NET cha mt s lp c dng khng quan tm l bn ang dng cc lp ca SQL Server hay l cc lp ca OLE DB. Cc lp trong khng gian tn System.Data: DataSet - i tng ny cha mt b cc DataTable, c th bao gm quan h gia cc bng, v n c thit k cho truy xut d liu khng kt ni. DataTable - Mt kho cha d liu. Mt DataTable bao gm mt hoc nhiu DataColumns, v khi c to ra n s c mt hoc nhiu DataRows cha d liu. DataRow - Mt b gi tr, tng ng mt dng trong bng c s d liu, hoc mt dng ca bng tnh. DataColumn - Cha cc nh ngha ca mt ct, chng hn nh tn v kiu d liu. DataRelation - Mt lin kt gia hai DataTable trong mt DataSet. S dng cho kha ngoi v cc mi quan h ch t.
52

Constraint - nh ngha mt qui tc cho mt DataColumn (hoc mt b cc ct d liu), nh cc gi tr l c nht.

7.1.3. Cc lp c s d liu chuyn bit B sung cho cc lp dng chung trn, ADO.NET c mt s cc lp d liu chuyn bit c a ra di y. Cc lp ny thc thi mt b cc giao din chun c nh ngha trong khng gian tn System.Data, cho php s dng cc lp c cng kiu giao din. SqlCommand, OleDbCommand - Mt v bc ca cc cu lnh SQL hoc cc li gi stored procedure. SqlCommandBuilder, OleDbCommandBuilder - Mt lp s dng cc cu lnh SQL (chng hn nh cc cu lnh INSERT, UPDATE, vDELETE) t mt cu lnh SELECT. SqlConnection, OleDbConnection - Kt ni vi c s d liu. Ging nh mt ADO Connection. SqlDataAdapter, OleDbDataAdapter - Mt lp gi cc cu lnh Select, Insert, Update, v Delete, chng c s dng to mt DataSet v cp nht Database. SqlDataReader, OleDbDataReader - Ch c, kt ni vi data reader. SqlParameter, OleDbParameter - nh ngha mt tham s cho mt stored procedure. SqlTransaction, OleDbTransaction - Mt giao tip c s d liu, c bc trong mt i tng. Mt c tnh quan trng ca cc lp ADO.NET l chng c thit k lm vic trong mi trng khng kt ni (connectionless), ng mt vai tr quan trng trong th gii "web-centric". N hin c dng kin trc mt server
53

(chng hn nh mua sch qua mng) kt ni mt server, ly mt vi d liu, v lm vic trn nhng d liu ny trn PC khch trc khi kt ni li v truyn d liu tr li x l.

7.2. S dng cc Database Connection Trong trnh t truy xut c s d liu, chng ta cn cung cp cc thng s kt ni, chng hn nh thit b m c s d liu ang chy, v kh nng ng nhp. Bt k ai tng lm vic vi ADO s d dng quen vi cc lp kt ni ca .NET, OleDbConnection v SqlConnection. on m sau y m t cch to, m v ng mt kt ni n c s d liu Northwind. Cc v d trong chng ny c dng c s d liu Northwind:
using System.Data.SqlClient; string source = "Server=(local);" + "UID=QSUser;PWD=QSPassword;" + "DataBase=Northwind"; SqlConnection conn = new SqlConnection(source); conn.Open(); //M kt ni // Thc hin mt s cng vic y conn.Close(); //ng kt ni

Trong v d chui kt ni ny, cc tham s c dng nh sau (cc tham s cch nhau bi du chm phy trong chui kt ni). Server=(local) - N biu din DataBase Server c kt ni. SQL Server cho php mt s cc tin trnh Database Server Processes khc nhau chy trn cng mt my. UID=QSUser - Tham s ny m t ngi dng c s d liu. Bn cng c th s dng User ID.

54

PWD=QSPassword - v y l Password cho ngi dng . .NET SDK l mt b cc c s d liu ging nhau, v User/Password ny c lin kt v c thm vo trong qu trnh ci t cc v d .NET. Bn cng c th dng Password. Database=Northwind - Ci ny m t loi d liu kt ni - mi tin trnh SQL Server c th a ra mt vi loi d liu khc nhau. V d trn m mt kt ni c s d liu cng chui kt ni c nh ngha, sau ng kt ni li. Khi kt ni c m, bn c th thc hin cc lnh thao tc trn c s d liu, v khi hon tt, kt ni c th c ng li. SQL Server c mt ch bo mt khc - n c th dng ch bo mt ca Windows, v th cc kh nng truy cp ca Windows c th truyn cho SQL Server. Vi la chn ny bn c th b i cc v tr UID v PWD trong chui kt ni, v thm vo Integrated Security=SSPI. 7.3. S dng hiu qu cc Connection Mt cch tng qut, khi s dng cc ti nguyn "him" trong .NET, chng hn nh cc kt ni c s d liu, cc ca s, hoc cc i tng ha, nn m bo rng cc ti nguyn ny lun phi c ng li sau khi s dng xong. D vy cc nh thit kt ca .NET c th lm iu ny nh trnh thu gom rc, n lun lm sau mt khong thi gian no , tuy nhin n nn c gii phng cng sm cng tt. R rng l khi vit m truy xut mt c s d liu, vic gi mt kt ni cng t thi gian cng tt khng lm nh hng n cc phn khc. Trong nhiu tnh hung tiu cc, nu khng ng mt kt ni c th kho khng cho cc ngi dng khc truy nhp vo cc bng d liu , mt tc hi to ln i vi kh nng thc thi ca ng dng. Vic ng mt kt ni c s d liu c th coi l bt buc, v th ng dng ny ch ra cch cu trc m ca bn gim thiu cc ri ro cho mt m ngun m. C hai cch m bo rng cc kt ni c s d liu c gii phng sau khi dng. 7.3.1. Ty chn try/catch/finally Ty chn th nht m bo rng cc ti nguyn c dn sch l s dng cc khi lnh trycatchfinally, v m bo rng bn ng cc kt ni trong khi lnh finally. y l mt v d nh:
try { // Open the connection conn.Open(); // Do something useful } catch ( Exception ex ) { 55

// Do something about the exception } finally { // Ensure that the connection is freed conn.Close ( ) ; }

Vi khi kt ni bn c th gii phng bt k ti nguyn no m bn dng. Vn duy nht trong phng thc ny l bn phi bo m rng bn c ng cc kt ni - rt l d qun vic thm vo khi finally, v vy mt phong cch lp trnh tt rt quan trng. Ngoi ra, bn c th m mt s ti nguyn (chng hn hai kt ni c s d liu v mt file) trong mt phng thc, v vy i khi cc khi trycatchfinally tr nn kh c. C mt cch khc m bo rng cc ti nguyn c dn dp - s dng cu lnh. 7.3.2. S dng khi cu lnh Trong lc pht trin C#, phng thc .NET's dn dp cc i tng khi chng khng cn c tham chiu na s dng cc hm hy b tr thnh mt vn nng hi. Trong C++, ngay khi mt i tng ri khi tm vc, hm hy b ca n s t ng c gi. N l mt iu rt mi cho cc nh thit c cc lp s dng ti nguyn, khi mt hm hu b c s dng ng cc ti nguyn nu cc ngi dng qun lm iu . Mt hm hy b trong C++ c gi bt k khi no mt i tng vt qu tm vc ca n - v vy khi mt ngoi l c pht ra m khng c chn, tt c cc hm hy b cn phi c gi. Vi C#, tt c u t ng, cc hm hy nh trc c thay th bi trnh thu gom rc, ci c dng hy b cc ti nguyn ti mt thi im trong tng lai. Chng mang tnh bt nh, ngha l bn s khng bit trc c khi no th vic s xy ra. Nu qun khng ng mt kt ni c s d liu c th l nguyn nhn gy ra li khi chy trong .NET. M sau y s gii thch cch s dng giao din IDisposable gii phng ti nguyn khi thot khi khi using.
string source = "Server=(local);" + "UID=QSUser;PWD=QSPassword;" + "Database=Northwind"; using ( SqlConnection conn = new SqlConnection ( source ) ) { // Open the connection conn.Open ( ) ; // Do something useful }

56

i tng trong mnh using phi thc thi giao din IDisposable, nu khng s to ra mt li bin dch. Phng thc Dispose() s t ng c gi trong khi thot khi khi using. Khi xem m phng thc Dispose() ca SqlConnection (v OleDbConnection), c hai u kim tra trng thi ca i tng kt ni, v nu n ang m phng thc Close() s c gi. Khi lp trnh bn nn dng c hai ty chn trn. nhng ch bn cn cc ti nguyn tt nht l s dng mnh using(), d vy bn cng c th s dng cu lnh Close(), nu qun khng s dng th khi lnh using s ng li gip bn. Khng g c th thay th c mt by ngoi l tt, v th tt nht bn dng trn ln hai phng thc nh v d sau:
try { using (SqlConnection conn = new SqlConnection ( source )) { // Open the connection conn.Open ( ) ; // Do something useful // Close it myself conn.Close ( ) ; } } catch (Exception e) { // Do something with the exception here... }

on trn gi tng minh phng thc Close() mc d iu l khng bt buc v khi lnh using lm iu thay cho bn; tuy nhin, bn lun chc rng bt k ti nguyn no cng c gii phng sm nht c th - bn c th c nhiu m trong khi lnh m khng kho ti nguyn. Thm vo , nu mt ngoi l xy ra bn trong khi using, th phng thc IDisposable.Dispose s c gi bo m rng ti nguyn c gii phng, iu ny m bo rng kt ni c s d liu lun lun c ng li. iu ny lm cho m d c v lun m bo rng kt ni lun c ng khi mt ngoi l xy ra. Cui cng, nu bn vit cc lp bao bc mt ti nguyn c l lun thc hin giao din IDisposable ng ti nguyn. Bng cch dng cu lnh using() n lun m bo rng ti nguyn s c dn dp. 7.4. Cc Transaction (giao dch) Thng khi c nhiu hn mt cp nht d c s d liu th cc thc thi ny c thc hin bn trong tm vc ca mt transaction. Mt transaction trong ADO.NET c khi to bng mt li gi n cc phng thc
57

BeginTransaction() trn i tng kt ni c s d liu. Nhng phng thc ny tr v mt i tng c th thc thi giao din IDbTransaction, c nh ngha trong System.Data. Chui m lnh di y khi to mt transaction trn mt kt ni SQL Server:
string source = "server=(local);" + "uid=QSUser;pwd=QSPassword;" + "database=Northwind"; SqlConnection conn = new SqlConnection(source); conn.Open(); SqlTransaction tx = conn.BeginTransaction(); // Execute some commands, then commit the transaction tx.Commit(); conn.Close();

Khi bn khi to mt transaction, bn c th chn bc t do cho cc lnh thc thi trong transaction . Bc ny ch r s t do ca transaction ny vi cc transaction khc xy ra trn c s d liu. 7.5. Commands Chng ta li ni li v commands. Mt command l mt mt kiu n gin, mt chui lnh SQL c dng truy xut d liu. Mt command c th l mt stored procedure, hoc l tn ca mt bng s tr v:
string source = "server=(local);" + "uid=QSUser;pwd=QSPassword;" + "database=Northwind"; string select = "SELECT * FROM Customers"; SqlConnection conn = new SqlConnection(source); conn.Open(); SqlCommand cmd = new SqlCommand(select, conn);

Cc mnh SqlCommand v OleDbCommand thng c gi l CommandType, chng c dng nh ngha cc mnh SQL, mt stored procedure, hoc mt cu lnh SQL. Sau y l mt bng lit k n gin v CommandType: CommandType
Text (default) StoredProcedure

Example
String select = "SELECT ContactName FROM Customers"; SqlCommand cmd = new SqlCommand(select , conn); SqlCommand cmd = new SqlCommand("CustOrderHist", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CustomerID", "QUICK");

58

TableDirect

OleDbCommand cmd = new OleDbCommand("Categories", conn); cmd.CommandType = CommandType.TableDirect;

Khi thc thi mt stored procedure, cn truyn cc tham s cho procedure. V d trn ci t trc tip tham s @CustomerID, d vy c nhiu cch ci gi tr tham s. 7.6. Executing Commands Bn nh ngha cc command, v bn mun thc thi chng. C mt s cch pht ra cc statement, da vo kt qu m bn mun command mun tr v. Cc mnh SqlCommand v OleDbCommand cung cp cc phng thc thc thi sau: ExecuteNonQuery() Thc thi cc command khng tr v kt qu g c ExecuteReader() Thc thi cc command v tr v kiu IDataReader ExecuteScalar() Thc thi cc command v tr v mt gi tr n 7.6.1. ExecuteNonQuery() Phng thc ny thng c dng cho cc cu lnh UPDATE, INSERT, hoc DELETE, tr v s cc mu tin b tc ng. Phng thc ny c th tr v cc kt qu thng qua cc tham s c truyn vo stored procedure.
using System; using System.Data.SqlClient; public class ExecuteNonQueryExample { public static void Main(string[] args) { string source = "server=(local);" + "uid=QSUser;pwd=QSPassword;" + "database=Northwind"; string select = "UPDATE Customers " + "SET ContactName = 'Bob' " + "WHERE ContactName = 'Bill'"; SqlConnection conn = new SqlConnection(source); conn.Open(); SqlCommand cmd = new SqlCommand(select, conn); int rowsReturned = cmd.ExecuteNonQuery(); Console.WriteLine("{0} rows returned.", rowsReturned); conn.Close(); } }

ExecuteNonQuery() tr v mt s kiu int cho bit s dng b tc ng command. 7.6.2. ExecuteReader() Phng thc ny thc hin cc lnh tr v mt i tng SqlDataReader hoc OleDbDataReader. i tng ny c th dng to ra cc mu tin nh m sau y:
59

using System; using System.Data.SqlClient; public class ExecuteReaderExample { public static void Main(string[] args) { string source = "server=(local);" + "uid=QSUser;pwd=QSPassword;" + "database=Northwind"; string select = "SELECT * FROM Customers"; SqlConnection conn = new SqlConnection(source); conn.Open(); SqlCommand cmd = new SqlCommand(select, conn); SqlDataReader reader = cmd.ExecuteReader(); while(reader.Read()) { Console.WriteLine("Contact : {0,-20} Company : {1}", reader[0] , reader[1]); } } }

7.6.3. ExecuteScalar() Trong nhiu trng hp mt cu lnh SQL cn phi tr v mt kt qu n, chng hn nh s cc record ca mt bng, hoc ngy gi hin ti ca server. Phng thc ExecuteScalar c th dng cho nhng trng hp ny:
using System; using System.Data.SqlClient; public class ExecuteScalarExample { public static void Main(string[] args) { string source = "server=(local);" + "uid=QSUser;pwd=QSPassword;" + "database=Northwind"; string select = "SELECT COUNT(*) FROM Customers"; SqlConnection conn = new SqlConnection(source); conn.Open(); SqlCommand cmd = new SqlCommand(select, conn); object o = cmd.ExecuteScalar(); } }

Phng thc tr v mt i tng, Bn c th chuyn sang kiu thch hp. 7.7. Data Tables Mt data table rt ging mt bng c s d liu vt l n bao gm mt b cc ct vi cc thuc tnh ring, v c th khng cha hoc cha nhiu dng d liu. Mt data table c th nh ngha mt kha chnh, bao gm mt hoc nhiu
60

ct, v cng c th cha cc rng buc ca cc ct. Tt c cc thng tin c th hin trong schema. Mt i tng DataTable (cng nh mt DataColumn) c th c mt s cc m rng ring lin quan n thuc tnh ca n. Tp hp ny c th nm trong thng tin user-defined gn lin vi i tng. V d, mt ct c th a ra mt mt n nhp liu dng gii hn cc gi tr hp l cho ct . Cc thuc tnh m rng c bit quan trng khi d liu c cu trc mt tng gia v tr v cho client trong mt s tin trnh. Bn c th lu mt chun hp l (nh min v max) cho cc s ca cc ct. Khi mt bng d liu c to ra, c th do vic chn d liu t mt c s d liu, c d liu t mt file, hoc truy xut th cng trong m, tp hp Rows c dng cha gi tr tr v. Tp hp Columns cha cc th hin DataColumn c th c thm vo bng ny. Nhng nh ngha schema ca d liu, v d nh kiu d liu, tnh kh rng, gi tr mc nh,... Tp Constraints c th c to ra bi cc rng buc kha chnh hoc tnh c nht.

7.7.1. Data Columns Mt i tng DataColumn nh ngha cc thuc tnh ca mt ct trong DataTable, chng hn nh kiu d liu ca ct , chng hn ct l ch c, v cc s kin khc. Mt ct c th c to bng m, hoc c th c to t ng trong thi gian chy. Khi to mt ct, tt hn ht l nn t cho n mt ci tn; nu khng thi gian chy s t ng sinh cho bn mt ci tn theo nh dng Columnn, n l mt s t ng tng. Kiu d liu ca mt ct c th ci t bng cch cung cp trong cu trc ca n, hoc bng cch ci t thuc tnh DataType. Mt khi bn np (load) d
61

liu vo mt bng d liu bn khng th sa li kiu d liu ca mt ct nu khng bn s nhn mt ngoi l. Cc ct d liu c th c to gi cc kiu d liu ca .NET Framework sau:
Boolean Byte Char DateTime Decimal Double Int16 Int32 Int64 Sbyte Single String TimeSpan UInt16 UInt32 UInt64

Mt khi c to, bc tip theo l gn cc thuc tnh khc cho i tng DataColumn, chng hn nh tnh kh rng nullability, gi tr mc nh. on m sau ch ra mt s cc ty chn c ci t trong mt DataColumn:
DataColumn customerID = new DataColumn("CustomerID" , typeof(int)); customerID.AllowDBNull = false; customerID.ReadOnly = false; customerID.AutoIncrement = true; customerID.AutoIncrementSeed = 1000; DataColumn name = new DataColumn("Name" , typeof(string)); name.AllowDBNull = false; name.Unique = true;

Cc thuc tnh sau c th c ci t trong mt DataColumn:


Property AllowDBNull AutoIncrement AutoIncrementSeed AutoIncrementStep Caption ColumnMapping ColumnName DataType DefaultValue Expression Description Nu l true, cho php ct c th chp nhn DBNull. Cho bit rng d liu ca ct ny l mt s t ng tng. Gi tr khi u cho mt ct AutoIncrement. Cho bit bc tng gia cc gi tr t ng, mc nh l 1. C th dng cho vic biu din tn ca ct trn mn hnh. Cho bit cch mt ct nh x sang XML khi mt DataSet c lu bng cch gi phng thc DataSet.WriteXml. Tn ca ct. N t ng to ra trong thi gian chy nu khng c ci t trong cu trc. Kiu gi tr ca ct. Dng nh ngha gi tr mc nh cho mt ct Thuc tnh ny nh ngha mt biu thc dng cho vic tnh ton trn ct ny

62

7.7.2. Data Rows Lp ny cu thnh cc phn khc ca lp DataTable. Cc ct trong mt data table c nh ngha trong cc thuc tnh ca lp DataColumn. D liu ca bng tht s c th truy xut c nh vo i tng DataRow. V d sau trnh by cch truy cp cc dng trong mt bng d liu.
string source = "server=(local);" + "uid=QSUser;pwd=QSPassword;" + "database=northwind"; string select = "SELECT ContactName,CompanyName FROM Customers"; SqlConnection conn = new SqlConnection(source);

M sau y gii thiu lp SqlDataAdapter, c dng in d liu cho mt DataSet. SqlDataAdapter s pht ra cc SQL, v in vo mt bng Customers trong DataSet.
SqlDataAdapter da = new SqlDataAdapter(select, conn); DataSet ds = new DataSet(); da.Fill(ds , "Customers");

Trong m di y, bn ch cch dng ch mc ca DataRow truy xut gi tr trong dng . Gi tr ca mt ct c th tr v bng cch dng mt trong nhng ch mc c ci . Chng cho php bn tr v mt gi tr cho bit s, tn, hoc DataColumn:
foreach(DataRow row in ds.Tables["Customers"].Rows) Console.WriteLine("'{0}' from {1}" , row[0] ,row[1]);

Mi dng c mt c trng thi gi l RowState, n c th dng xc nh thc thi no l cn thit cho dng khi n cp nht c s d liu. Thuc tnh RowState c th c ci t theo di tt c cc trng thi thay i trn DataTable, nh thm vo cc dng mi, xa cc dng hin ti, v thay i cc ct bn trong bng. Khi d liu c cp nht vo c s d liu, c trng thi c dng nhn bit thc thi SQL no s xy ra. Nhng c ny c nh ngha bi bng lit k DataRowState:
DataRowState Value Added Description Dng c va mi c thm vo tp hp DataTable's Rows. Tt c cc dng c to trn my khch u c ci t gi tr ny, v cui cng l pht ra cu lnh SQL INSERT khi cp nht cho c s d liu. Gi tr ny cho bit dng c th c nh du xo trong DataTable bi phng thc DataRow.Delete(). Dng ny vn tn ti trong DataTable, nhng khng th trng thy t mn hnh (tr khi mt DataView c ci 63

Deleted

t r rng). Cc dng c nh du trong DataTable s b xo khi c s d liu khi n c cp nht. Detached Mt dng s c trng thi ny ngay sau khi n c to ra, v c th cng tr v trng thi ny bi vic gi phng thc DataRow.Remove(). Mt dng detached khng c coi l mt thnh phn ca bng d liu. Mt dng s c Modified nu gi tr trong ct bt k b thay i. Mt dng s khng thay i k t ln cui cng gi AcceptChanges().

Modified Unchanged

Trng thi ca mt dng ph thuc vo phng thc m dng gi. Phng thc AcceptChanges() thng c gi sau mt cp nht d liu thnh cng (c ngha l sau khi thc hin cp nht c s d liu). Cch ph bin nht thay i d liu trong mt DataRow l s dng ch s, tuy vy nu bn c mt s thay i bn cng cn gi cc phng thc BeginEdit() v EndEdit() methods. Khi mt cp nht c to ra trn mt ct trong mt DataRow, s kin ColumnChanging s c pht ra trn cc dng ca DataTable. N cho php bn ghi ln thuc tnh ProposedValue ca cc lp DataColumnChangeEventArgs, v thay i n nu mun. Cch ny cho php cc gi tri trn ct c hiu lc. Nu bn gi BeginEdit() trc khi to thay i, s kin ColumnChanging vn xy ra. Chng cho php bn to mt s thay i kp khi c gi EndEdit(). Nu bn mun phc hi li gi tr gc, hy gi CancelEdit(). Mt DataRow c th lin kt vi mt vi dng khc ca d liu. iu ny cho php to cc lin kt c th iu khin c gia cc dng, l kiu master/detail. DataRow cha mt phng thc GetChildRows() dng thay i mt mng cc dng lin quan n cc ct t mt bn khc trong cng DataSet nh l dng hin ti. 7.8. To mt DataSet Trc tin, chng ta nh ngha s ca b d liu, vi y cc DataTable, DataColumn, Constraint, v nhng g cn thit, nn to DataSet vi mt vi thng tin b sung. C hai cch chnh c d liu t mt ngun bn ngoi v chn n vo DataSet: Dng trnh cung cp d liu c XML vo trong DataSet 7.8.1. To mt DataSet dng DataAdapter on m v dng d liu c gii thiu trong lp SqlDataAdapter, c trnh by nh sau:

64

string select = "SELECT ContactName,CompanyName FROM Customers"; SqlConnection conn = new SqlConnection(source); SqlDataAdapter da = new SqlDataAdapter(select , conn); DataSet ds = new DataSet(); da.Fill(ds , "Customers");

Hai dng in m ch ra cch dng ca SqlDataAdapter OleDbDataAdapter cng c nhng tnh nng o ging nh Sql equivalent. SqlDataAdapter v OleDbDataAdapter l hai lp xut pht t mt lp c bn ch khng phi l mt b cc giao din, v nht l cc lp SqlClient, hoc OleDb. Cy k tha c biu din nh sau:
System.Data.Common.DataAdapter System.Data.Common.DbDataAdapter System.Data.OleDb.OleDbDataAdapter System.Data.SqlClient.SqlDataAdapter

Trong qu trnh ly d liu t mt DataSet, cn phi c mt vi lnh c dng chn d liu. N c th l mt cu lnh SELECT, mt stored procedure, hoc OLEDB provider, mt TableDirect command. V d trn s dng mt trong nhng cu trc sn c trong SqlDataAdapter truyn cu lnh SELECT vo mt SqlCommand, v pht n khi gi phng thc Fill() trn adapter. 7.8.2. S dng mt Stored Procedure trong mt DataAdapter Trc tin chng ta cn nh ngha mt stored procedure v ci n vo c s d liu database. Stored procedure SELECT d liu nh sau:
CREATE PROCEDURE RegionSelect AS SET NOCOUNT OFF SELECT * FROM Region GO

V d ny ch l mt cu lnh SQL n gin. Stored procedure ny c th nh vo SQL Server Query Analyzer, hoc bn c th chy file StoredProc.sql s dng v d ny. Tip theo, chng ta cn nh ngha mt SqlCommand thc thi stored procedure ny. Mt ln na m rt n gin, v hu ht c a ra trong cc phn trn:
private static SqlCommand GenerateSelectCommand(SqlConnection conn ) { SqlCommand aCommand = new SqlCommand("RegionSelect" , conn); aCommand.CommandType = CommandType.StoredProcedure; aCommand.UpdatedRowSource = UpdateRowSource.None; return aCommand; } 65

Phng thc ny pht ra SqlCommand gi th tc RegionSelect khi thc thi. V cui cng l mc ni n vi mt SqlDataAdapter thng qua li gi phng thc Fill():
DataSet ds = new DataSet(); // Create a data adapter to fill the DataSet SqlDataAdapter da = new SqlDataAdapter(); // Set the data adapter's select command da.SelectCommand = GenerateSelectCommand (conn); da.Fill(ds , "Region");

V d trn to ra mt SqlDataAdapter mi, xem SqlCommand c pht ra thng qua thuc tnh SelectCommand ca data adapter, v gi Fill(), thc thi stored procedure v chn tt c cc dng vo the Region DataTable. 7.8.3. To mt DataSet t XML Ngoi vic to s cho mt DataSet v cc bng tng ng, mt DataSet c th c v ghi cc d liu ca XML, ging nh mt file trn a, mt stream, hoc mt text reader. load XML vo mt DataSet, n gin gi mt trong nhng phng thc ReadXML(), chng hn nh on m sau, dng c t mt file trn a:
DataSet ds = new DataSet(); ds.ReadXml("C:\\MyData.xml");

Cu hi n tp: 1. So snh gia ADO v ADO.NET 2. Cc cch s dng connection c hiu qu 3. Lm th no gi mt store procedure 4. Thnh phn no khng phi l thuc tnh ca i tng DataAdapter a. SQLCommand b. DeleteCommand c. UpdateCommand d. InsertCommand 5. Lnh no dng hon tt mt giao dch (transaction) a. Finish b. Commit c. Rollback d. Update 6. Phng thc no sau y chc chn khng lm thay i d liu a. ExecuteNonQuery b. ExecuteReader c. ExecuteScalar d. ExecuteReadOnly 7. i tng transaction c to ra bi phng thc no a. NewTransaction b. StartTransaction c. BeginTransaction d. CreateTransaction

66

PH LC I. CU HNH WEBSERVER 1.1. Ci t Internet Information Services (IIS) mt my c xem nh l mt WebServer ring, ta phi ci t: o i vi h iu hnh Windows 9x: Ci t phn mm Personal Web Server o i vi h iu hnh Windows 2k, XP: Ci t component: Internet Information Services . ci Internet Information Services trong MS Windows XP Professional, ta bt u chn: o Start, Settings, Control Panel, Add/Remove Programs v nhp n (click) Add/Remove Windows Components, chn Internet Information Server nh sau:

Nu ta nhp n nt <Details>, ta c th t do la chn thm hay bt cc thnh phn trong IIS, v d nh ta c th b tr thm File Transfer Protocol Service (FTP Server) qun l mt cch hiu qu hn vic ti ln (upload) hay ti xung (download) cc h s (documents) hay tp tin (files). Nhp nt <Next>, Windows XP Professional s bt u tin trnh ci t IIS. xc nh vic ci thnh cng Web Server, ta c th th nh sau: o M Browser ca bn, v d nh Microsoft Internet Explorer v g hng ch nh sau vo hp a ch http://localhost
67

1.2. Khi ng Internet Information Services Start\Setting\Control Panel\Administrative Tools\Internet Information Services

1.3. To th mc o Nhp phi vo Default Web Site, chn New, Virtual Directory:

G b danh (Alias)

68

La chn th mc

Chn <Next>, chng ta c kt qu nh sau:

69

II. NHNG ON JAVASCRIP VO TRANG WEB 2.1. Gii thiu JavaScript l ngn ng di dng kch bn (script) c th gn lin vi cc file HTML. JavaScript c kch bn trnh khch (client). Thng p ng cc s kin m HTML khng h tr. Trnh duyt no h tr JavaScript th c th thc hin c cc lnh ca JavaScript. 2.2. Nhng Javascript vo tp HTML Bn c th nhng JavaScript vo mt file HTML theo mt trong cc cch sau y: o S dng cc cu lnh v cc hm trong cp th <SCRIPT> o S dng cc file ngun JavaScript o S dng mt biu thc JavaScript lm gi tr ca mt thuc tnh HTML o S dng th s kin (event handlers) trong mt th HTML no Trong , s dng cp th <SCRIPT>...</SCRIPT> v nhng mt file ngun JavaScript l c s dng nhiu hn c. 2.2.1. S dng th SCRIPT Script c a vo file HTML bng cch s dng cp th <SCRIPT> //cc on lnh ca javascript
70

<\SCRIPT>. Cc th <SCRIPT> c th xut hin trong phn <HEAD> hay <BODY> ca file HTML. Nu t trong phn <HEAD>, n s c ti v sn sng trc khi phn cn li ca vn bn c ti. Thuc tnh c nh ngha hin thi cho th <SCRIPT> l LANGUAGE= dng xc nh ngn ng script c s dng. C hai gi tr c nh ngha l "JavaScript" v "VBScript". Vi Chng trnh vit bng JavaScript bn s dng c php sau :
<SCRIPT LANGUAGE="JavaScript"> // INSERT ALL JavaScript HERE </SCRIPT>

im khc nhau gia c php vit cc ghi ch gia HTML v JavaScript l cho php bn n cc m JavaScript trong cc ghi ch ca file HTML, cc trnh duyt c khng h tr cho JavaScript c th c c n nh trong v d sau y:

<SCRIPT LANGUAGE=JavaScript> <!-- From here the JavaScript code hidden // INSERT ALL JavaScript HERE // This is where the hidden ends --> </SCRIPT>

Dng cui cng ca script cn c du // trnh duyt khng din dch dng ny di dng m JavaScript. 2.2.2. S dng mt file ngun JavaScript Thuc tnh SRC ca th <SCRIPT> cho php bn ch r file ngun JavaScript c s dng (dng phng php ny hay hn nhng trc tip mt on lnh JavaScript vo trang HTML). C php:
<SCRIPT SRC="file_name.js"> .... </SCRIPT>

Thuc tnh ny ry hu dng cho vic chia s cc hm dng chung cho nhiu trang khc nhau. Cc cu lnh JavaScript nm trong cp th <SCRIPT> v </SCRIPT> c cha thuc tinh SRC tr khi n c li. Cc file JavaScript bn ngoi khng c cha bt k th HTML no. Chng ch c cha cc cu lnh JavaScript v nh ngha hm.
71

Tn file ca cc hm JavaScript bn ngoi cn c ui .js, v server s phi nh x ui .js ti kiu MIME application/x-javascript. 2.2.3. S dng JavaScript trong Asp.NET Nh chng ta bit trn Web form trong ASP.NET xut hin mt hp thoi (khi mun thng bo, mun la chn...) nh Winform l rt kh. Nhng chng ta c th cho hp thoi xut hin bng cch kt hp vi on JavaScript. V d: o To mt button trn trang Web, t thuc tnh ID: btnThucHien o Trong s kin Page_Load thm vo on lnh nh sau
protected void Page_Load(object sender, EventArgs e) { btnThucHien.Attributes.Add("onclick","javascript:if(confirm('Ban muon thuc hien tiep khong?')= = false) return false;"); }

o Thc hin trang, nhp chut vo nt s c dng thng bo

72

TI LIU THAM KHO


Ting Vit [1]. Nguyn Thin Bng, Gio trnh SQL Server 2000, NXB Lao ng - X hi, 2005 [2]. Phan Hong, Anh Quang, Gio Trnh T Hc Lp Trnh C#, NXB Vn ha Thng tin, 2007 [3]. Phm Hu Khang, C# 2005 - Lp Trnh C Bn, NXB Lao ng - X hi, 2006 [4]. Phm Hu Khang, C# 2005 - Lp Trnh C S D Liu, Tp 4, NXB Lao ng - X hi, 2006 [5]. Nguyn Vn Ln, K Thut Xy Dng ng Dng ASP.NET, Tp 1, NXB Lao ng - X hi, 2008 [6]. Nguyn Vn Ln, Phng Lan, K Thut Xy Dng ng Dng ASP.NET, T1, NXB Lao ng - X hi. [7]. Nguyn Trng Sinh, Hc Thit K Web Bng Hnh Minh Ha, Tp2, NXB Phng ng, 2007 [8]. Nguyn Trng Sinh, Thit K Web Vi JavaScript V Dom, NXB Phng ng, 2007 [9]. u Quang Tun, Thit K Trang Web Bng FrontPage 2003, NXB Giao thng vn ti, 2006 Ting Anh [1]. Archor, Tom. Inside C#, Redmond, WA: Microsoft Press, 2001 [2]. Bill Evjen, Scott Hanselman, Farhan Muhammad, S. Srinivasa Sivakumar, Devin Rader, Professional ASP.NET 2.0, 2005 [3]. Liberty Jesse, Dan Hurwitz, Programming ASP.NET, Second Edition, 2003 [4]. Liberty Jesse. Programming C#, Sebastopol, CA: OReilly & Associates, 2001 Trang Web http://www.google.com.vn http://www.oreilly.com

73

You might also like