+ All Categories
Home > Documents > Muc . Luc. - gralib.hcmuns.edu.vngralib.hcmuns.edu.vn/sachmoi/2006/07-06/laptrinhwebdungasp.pdf ·...

Muc . Luc. - gralib.hcmuns.edu.vngralib.hcmuns.edu.vn/sachmoi/2006/07-06/laptrinhwebdungasp.pdf ·...

Date post: 26-Jun-2019
Category:
Upload: duongdang
View: 223 times
Download: 0 times
Share this document with a friend
10
5 L~p trlnh Web sir dt.tng ASP.NET va Visual C# DU'O'11gQuang Thifn T~p 5: L~p trinh Web sir d\lng ASP.NET & Visual C# Muc Luc . . MI:IC II:IC 5 ChlfOUg1 ASP.NET va .NET Framework 1.1 Doi dieu ve NET Framework 25 1.2 ASP.NET la gi? 28 1.2.1 ASP.NET so sanh voi ASP eo cfien 28 1.2.2 Cae ngon ngG' I~p trlnh: C# va VB.NET 29 1.2.3 Visual Studio .NET 29 1.3 Hello World! 29 1.3.1 Hello World theo phien bim HTML 30 1.3.2 Hello World theo phien bim ASP 32 1.3.3 Hello World theo kieu ASP.NET 33 1.3.4 Hello World sudl,mg Visual Studio .NET 34 ChlfOUg 2 Tim hiiu vJ Tinh hutmg 2.1 Mo hinh tinh huang 43 2.2 Cac tinh huang ASP so voi ASP.NET 44 2.3 Cac dai ml:lc tinh huang 46 2.4 Cac tinh huang Application va Session 47 2.5 Cac tinh huang Page va Control 47 2.6 ThuQc tinh IsPostBack 48 2.7 Cac tinh huang Postback so voi Non-Postback 48
Transcript

5 L~p trlnh Web sir dt.tng ASP.NET va Visual C# DU'O'11gQuang Thifn

T~p 5: L~p trinh Web sir d\lngASP.NET & Visual C#

Muc Luc. .MI:ICII:IC 5

ChlfOUg1 ASP.NET va .NET Framework

1.1 Doi dieu ve NET Framework 25

1.2 ASP.NET la gi? 281.2.1 ASP.NET so sanh voi ASP eo cfien 281.2.2 Cae ngon ngG' I~p trlnh: C# va VB.NET 291.2.3 Visual Studio .NET 29

1.3 Hello World! 291.3.1 Hello World theo phien bim HTML 301.3.2 Hello World theo phien bim ASP 321.3.3 Hello World theo kieu ASP.NET 331.3.4 Hello World sudl,mg Visual Studio .NET 34

ChlfOUg 2 Tim hiiu vJ Tinh hutmg

2.1 Mo hinh tinh huang 43

2.2 Cac tinh huang ASP so voi ASP.NET 44

2.3 Cac dai ml:lc tinh huang 46

2.4 Cac tinh huang Application va Session 47

2.5 Cac tinh huang Page va Control 47

2.6 ThuQc tinh IsPostBack 48

2.7 Cac tinh huang Postback so voi Non-Postback 48

Mye lye 6

2.8 So sanh ASP.NET viti ASP 49

2.9 Cae tinh huang tren Visual Studio .NET 56

Chmmg 3 Tim hiiu vi cae{j Web Control

3.1 HTML Server Controls 60

3.2 ASP (Web Server) Controls 663.2.1 ASP.NETva cae Browser 713.2.2 Cay dang cap cae 6 control ASP 733.2.3 So sanh HTMLvoi ASP Server Controls 75

ChU'ong 4 Di sau vao chi tiit cae {j ASP Control

4.1 Cae dieu cd ban : 76

4.2 Label Control 80

4.3 TextBox Control 80

4.4 Button Controls 82

4.5 HyperLink Control 86

4.6 ChQn ra cae tri 874.6.1 CheckBox Control 894.6.2 RadioButton Control 92

4.7 ChQn ra tu mQt danh saeh 944.7.1 Doi tu'<;1ngListltem 954.7.2 CheckBoxList Control 96

4.7.2.1 Them cck item theo each tTnh 974.7.2.2 Them cae item theo I?p trinh su dling m(3t ban day 994.7.2.3 Them cae item tit m(3t dClli~u nguon """"""""""""""""" 1034.7.2.4 Dap LIng nhClng ch9n It/a cua ngt./ai su dling 105

4.7.3 RadioButtonList Control 1084.7.4 DropDownList Control 1104.7.5 ListBox Control 112

4.8 Tables 1164.8.1 Table Rows 1234.8.2 Table Cells 124

7 L~p trinh Web sir dyng ASP.NET va Visual C# DU'O1lgQuang Thi~n

4.8.3 Cell Width 128

4.9 Panel Control 129

4.10 Image 1334.10.1 Image Control 1334.10.2 AdRotator Control 137

4.10.2.1 Target 1384.10.2.2 T?p tin Advertisement 138

4.11 Ca lendar 1424.11.1 L~p trlnh 6 control Calendar 148

4.11.1.1 Tinh hutJng SeleetionChanged 1494.11.1.2 Tinh hutJng DayRender 1674.11.1.3 Tinh huang VisibleMonthChanged 173

ChU'O'llg 5 L~p trinh Web Forms

5.1 Code-Behind Iii g11 179

5.2 State 1865.2.1 View State 1885.2.2 State Bag 1895.2.3 Application State """""""""""""""""""""""""""'" 1925.2.4 Session State 198

5.2.4.1 Cfiu hinh eua Session State 2045.2.4.2 Cae (/01 tLfc;1ngung dllng nam trong ph<;Jmvi session 207

5.3 Chu ky sang cua trang web 207

5.4 Directives 2105.4.1 Application Directive 2115.4.2 Assembly Directive """""""""""""""""""""""""""" 2115.4.3 Control Directive : 2125.4.4 Implements Directive 2135.4.5 Import Directive 2135.4.6 OutputCache Directive 2145.4.7 Page Directive 2145.4.8 Reference Directive 2155.4.9 Register Directive , 215

Myc Iyc 8

ChU'ong 6 Kiim tra hfJP I? dir li?u

6.1 0 control RequiredFieldValidator 218

6.2 0 control Summary Validator 226

6.3 0 control CompareValidator 2286.3.1 Kiem tra kieu dCi'li~u nh~p 2306.3.250 sanh voi mQt 6 control khac 231

6.4 Kiem tra bien dQ (range checking) 239

6.5 Regular Expressions 241

6.6 Custom Validation 243

ChU'ong 7 Giin kit vOidir li?u ngu6n

7.1 Ban day ArrayList 248

7.2 Data Binding va PostBack 251

7.3 Gan ket voi mQt lop 253

7.4 Gan ket voi cac 0 control ddn gian khac 255

7.5 Gan ket cac Radio Button va CheckBox 255

ChU'ong 8 Tim hiiu vJ DataGrid control

8.1 Cac thuQc tinh va collection du'gc chia se sU'dlJng 2668.1.1 ThuQctinh Data50urce 2668.1.2 Cac item 266

8.2 0 DataGrid Control 2678.2.1 Version 1: Hien thi dCi'lieu 2678.2.2 Version 2: Kiem soat cae cQt dCi'Ii~u 271

8.2.2.1 Cac cQt at./r;fcgan ket vai dff Ii~u 2768.2.2.2 Thl,lly tinh huang ItemDataBound 2778.2.2.3 To miw trong trt./ang hr;fpnghiem trQng 2798.2.2.4 T?o hyperlink 279

8.2.3 Version 3: Trang Detail 2808.2.3.1 Tong cQngin ra (j footer (summary footer) 283

9 qp trlnh Web sir d1}ngASP.NET va Visual C# DlrO'ng Quang Thi?n

8.2.3.2 T?o trang Detail 2848.2.4 Version 4: Sorting va Paging 289

8.2.4.1 Ket qua tren m(jt trang 2898.2.4.2 Thi cong ham thl,1ly tinh huang OnSortCommand 3008.2.4.3 Them m(jt ky hi~u sort 3038.2.4.4 Thi cong paging 3048.2.4.5 Thl,1lytinh huang sang trang 304

8.3 Cae bu'ae ke tiep 305

ChU'ong 9 Truy c(ip dir li?u sir d!mg ADO.NET

9.1 ThISthiet ke din eu du Ii~u Bug 306

9.2 Mo hinh doi tu'Qng ADO.NET 3119.2.1 Lop DataSet 315

9.2.1.1 Cac thu(jc tfnh cua lap DataSet 3179.2.1.2 Cac ham hanh 51/cua lap DataSet 3199.2.1.3, Lap DataTable 3229.2.1.4 Lap DataRow 325

9.2.2 DBCommand va DBConnection 3289.2.3 Doi tu'QngDataAdapter 3299.2.4 Doi tu'QngDataReader 331

9.3 Ta thIS bat dau ehdi vai ADO.NET 332

9.4 Nhung Managed Data Provider 335

9.5 Tao mot DataGrid 3379.5:1 Cho hien thj dCi'Ii~uquan h~ 3389.5.2 Cho hien thi moi quan h~ cha con 3419.5.3 SU'dl,lng mQt aOitu'QngDataReader 3479.5.4 DataView 3509.5.5 Ti;1OData Relations 351

9.6 T~o bang tay cae doi tu'Qng du Ii~u 3599.6.1 Tc;1Obang tay DataTable 360

9.6.1.1 Cho cHitoe cac thuoc tfnh cot 3619.6.1.2 Chooiit oe cac han"buoc ...: 3629.6.1.3 Du'ad[j'lieu vao table.: 3639.6.1.4 ao sung table vao dataset 3639.6.1. 5 Them hang d[j'Ii~usu dl,1ngm(jt bim day cac 007tu'(jng 364

9.6.2 Ti;1ocae Primary Key (PK) 3659.6.3 Ti;1ocae Foreign Key (FK) 365

Ml}cll}C 10

9.6.4 Ti;'Iocck Data Relations 367

9.7 Stored Procedures 3739.7.1 Tri~u gQistored procedure theo I~ptrlnh 376

9.7.1.1 Tri~ugQim(Jt stored procedure khong thong sO' 3769.7.1.2 Tri~ugQim(Jt stored procedure co thong 56 378

Chuong 10 NhQJ tu dir Iifu vOiADO.NET

10.1 Nh~t tu dU' Ii~u su dlJng den SQL 384

10.2 Nh~t tu dU' Ii~u voi Transaction 39110.2.1 ACID Test 39110.2.2 Thi cong transaction 393

10.2.2.1 Database transaction 39410.2.2.2 Connection transaction 399

10.3 Nh~t tu dU' Ii~u su dlJng dataset 40810.3.1 Data5et va Data Adapter 40910.3.2 Cae buck tien hanh nhat tu can elf dG'lieu 410

10.3.2.1 Ti}Ova hien thj aO'itll<;1ngDataSet .: 41110.3.2.2 Cho Iliu ton DataSet 41410.3.2.3 Nh?ittu cck mau tin tren DataSet 41410.3.2.4 Nh?ittu DataSet 41510.3.2.5 Nhat tu DataBase 418

10.3.3 Them p'han h6 trq giao djch 42210.3.4 Tri~u gQiham hanh sl/ Update 422

10.4 Nh~t tu voi nhn~u !1gu'oi su dlJng 42810.4.1 Khoa chat cae mau tin 42910.4.250 sanh 'nguyen thuy voi cai moi 43010.4.3 Thl,lly cae sai lam 430

10.5 Command Builder 439

Chuong 11 Tim hiiu Repeater va DataList Control

11.1 Gan ket voi DataList va DataGrid Control 443

11.2 Repeater Control' ~ 44411.2.1 HeaderTemplate 44811.2.2 5eparatorTempiate 44811.2.3 FooterT em pla,t,e ... .. . .. . .. . .. .. .. .. . .. . . .. . .. .. . . . .. . . .. .. . .. . . .. . .. . . .. . . .. .. . . .. 448

11.2.4 Item:r:e~pjakd.,.:, 449

M1}C l1}c 12

13.1.1.1 Trien khai mQt Web Service 51713.1.1.2 T?o mQt Proxy 51813.1.1.3 Tao Consumer 520

13.1.2 Cac nghi thuG va cac chuan 52113.1.2.1 Nghi thuc HTTP 52113.1.2.2 Yeu diu HTTP-GET 52113.1.2.3 Yeu cau HTTP-POST 52213.1.2.4 XML 52213.1.2.5 SOAP 52313.1.2.6 H6 tn;f .NET Cl07vai cac nghi thuc 524

13.2 Phan 2: Tao Cac Web Services 52413.2.1 MQtStockTicker ddn gian 525

13.2.1.1 Web Service Directive 52713.2.1.2 Dlm xuat tillap WebService 52813.2.1.3 Application State thong qua HttpContext 52813.2.1.4 Attribute WebMethod 52913.2.1.5 Attribute .WebService 53713.2.1.6 Cac kieu diJ lii}u 53813.2.1.7 Su dllng Code-Behind 548

13.2.2 T<;1OmQt t~p tin Discovery 55613.2.3 Trien khai 559

13.3 Phan 3: Tieu thu cac Web Services 56013.3.1 Phat hi~n web service 56013.3.2 T<;IomQt proxy ,.562

13.3.2.1 Ket sinh bang tay ma nguan lap proxy 56213.3.2.2 Chi tiet cua mQt lap proxy 56413.3.2.3 Bien djch lap proxy 56813.3.2.4 Ttj ClQnghoa tien trinh t?O t?P tin proxy bang cach

sU'dllng mQt t?P tin batch. bat 56813.3.3 T<;IomQt ling dl,mg tieu thl,J 569

13.3.3.1 SU' df:!ng mQt text editor Clet?O ung df:!ng tieu thf:! 57013.3.3.2 SU'df:!ng Visual Studio .NET Clet?O ung df:!ng tieu thf:! 57313.3.3.3 SU'df:!ng cac trii}u 99i ham bift Clang bQ 578

ChU'O1lg14 Caching va Performance

14.1 Cac lo~i caching 59014.1.1 Chp caching t~p tin-lop 59014.1.2 Chq Gaching.t~p~ttn';tau hlnh 59014.1.3 Cho ci3cl1ingta.P \"l'ket xuat 59114.1.4 Chp caching doi"tU!n~ 591. .- ,

14.2 Output caching : 591

13 L~p trinh Web sir dl}ng ASP.NET va Visual C# DU'O'ngQuang Thii?n

14.2.1 OutputCache Page Directive 59114.2.1.1 Duration 59214.2.1.2 VaryByParam 59314.2.1.3 Location 59614.2.1.4 VaryByControl 59714.2.1.5 VaryByCustom .. 59714.2.1.6 VaryByHeader 597

14.2.2 Caching theo tung phan: caching mQt phan trang web 597

14.3 Object Caching 60314.3.1 Cac chuc nang lop Cache 60714.3.2 Cac I~ thuQc (dependencies) 609

14.3.2.1 MoiI~ thuQc vao sl/ thay aoi cua t?P tin , 60914.3.2.2 Moi I~ thuQc vao cached item 61314.3.2.3 Mal I~ thuQc vao thai gian 615

14.3.3 Quet dQn (scavenging) 61714.3.4 H6 trQ' .Callback 618

14.4 Lop HttpCachePolicy 622

14.5 Hi~u nang (Performane) 62414.5.1 Cac van de d~c tru'ng ASP.NET 625

14.5.1.1 Session state 62514.5.1.2 View state 62614.5.1.3 Caching 62614.5.1.4 Server Controls 62614.5.1.5 Web gardening va Web farming " 62714.5.1.6 Ch?y loanh quanh ve server 627

14.5.2 Cac van de chung cua .NET " 62814.5.2.1 String concatenation " 62814.5.2.2 Giam thieu biet Ie 63014.5.2.3 SLtdl:JnggEInket'sam 63114.5.2.4 SLtdl,mg Managed Code 63214.5.2.5 Cho va hi~u hoa Debug Mode " 632

14.5.3 Cac van de do Database Access d~t ra. 63214.5.3.1 Stored procedures 63214.5.3.2 SLt dl,Jng lap DataReader 63214.5.3.3 SLt dl)ng cck lap SQL hoi;ic Oracle thay vi OleDB 632

14.6 Benchmarking va Profiling 632

ChUO1lg15 Bao dam an loan cho ring dlJng ASP.NET

15.1 Kiem chung thllc (Authentication) 63615.1.1 Truy c~pvo danh 637

Myc Iyc 141

15.1.2 Kiem chung thl/c kieu.Windows 639 I15.1.2.1 Role-based secunty 64015.1.2.2 Basic authentication 64115.1.2.3 Digest authentication 64215.1.2.4 Integrated Windows authentication 643

15.1.3 Kiem chung thl/c thong himh (passport) 64415.1.4 Kiem chung thl/c dl/a tren bieu m~u 645

15.1.4.1 Ti;1omQt bieu m§u dang nh?p 64615.1.4.2 Ca'u hinh hoa IIS 65015.1.4.3 Cau hinh hoa ASP.NET 65115.1.4.4 Kiem chung thl/c ti;1iweb.config 65215.1.4.5 Kiem chung thl/c vai vi~c chuyen hL/ang ve

mQt trang web dL/<;fckhai bao 65415.1.4.6 fJi la'y cookie kiem chung thl/c 65515.1.4.7 Thoat kh6i dang nh?p LIngdling (logging out) 656

15.1.5 Chung nh~n kiem chung thl/c 657

15.2 Tien trinh cap phep (authorization) 65815.2.1 File Authorization 65815.2.2 URLAuthorization """""""""""""""""""""""""""""""" 660

15.3 Thu vai (Impersonation) 66315.3.1 Application Identity 665

Chuong16 Lam thi niLOtliJu hanh ho(l1 tl{Jng,eau hinh hoava triin thai cae ,mg d{lng ASP.NET

16.1 U'ng dl:lng Iii gi? 66816.1.1 Cac thu' ml,lc ao 66916.1.2 Dja bim ung dl,lng (Application Domains) 67316.1.3 Cac assembly va thu' ml,lc\bin 673

16.2 Dieu khien ung dl:lng 67416.2.1 Dei tu'<;1ngHttpApplication 67416.2.2 T~p tin global.asax 674

16.2.2.1 Directives 67616.2.2.2 Script blocks 67816.2.2.3 Cac bien toan CliCstatic va ham hanh sl/ the hi~n 68716.2.2.4 Server-side includes 68916.2.2.5 Khai bao doi tL/<;fng 690

16.3 Cau hinh hoa ung dl:lng 69116.3.1 Cau hinh theo dang cap 692

15 L~p trlnh Web sir d1}ngASP.NET va Visual C# Duong Quang Thi?n

16.3.2 Format 69316.3.3 NhO'ngkhai bao ve configuration section handler 69516.3.4 Cac phan doc;Jncau hlnh (configuration section) 697

16.3.4.1 appSettings 69816.3.4.2 system.net 70016.3.4.3 system. web 70016.3.4.4 Cae o/fltoe an to/m 708

16.3.5 Custom Configuration 71416.3.5.1 Cae 067tu'c;fng 717

16.4 Trien khai ((ng dl,lng 72016.4.1 Cac assembly , 72116.4.2 Trien khai kieu XCOPY(XCOPYDeployment) 72216.4.3 Trien khai to~JnCl,lC(global deployment) 723

,LOi mu alia

Vao tMng 7/1998 ngm'yivi€t cho pMt hanh t~p I bQ sach "Ulp trlnh Windows sud\lng Visual C++ 6.0 va MFC". Toan bQg6m 8 t~p, 6 noi vS 19thuy€t va 2 vS th1)'chanh.Cac t~p di sau duQ'cphat hanh lai rai miii d€n 10/2000 mai xong. BQsachduQ'c b<;tndQcdon chao n6ng nhi~t (m?c d~u ch~t luQ'nggi~y va ki6u quay rolleDkhong duQ'cmy thu~tcho l~m, nhung gia re vIla tui tiSn b<;tndQC)va duQ'CpMt Mnh di ph<itMnh l<;titren 10ngan bQ va khong bi€t baa nhieu dii bi photocopy va "bi luQc". Va vao thai di6m hoanthanh bQsach l~p trlnh Windows k6 tren (tMng 10/2000) nguai vi€t cling dii qua 67 tu&i,qua m~tm6i, va cling vao luc vIla giai th6 van phong SAMIS khong ken khOngtr6ng, th~la nguai vi~t quy~t dinh "rua fay gac ki~m" luau, m?c d~u truac do vai ba tMng dii bi~tMicrosoft manh nha cho ra dai mQtngon ngfr l~p trinh mai la C# tren mQtsan di~n mangten .NET. am chi ligon ngfr thai d<;tim<;tngInternet. Tuy nhien, nhu dii dinh so<;tngia v~nogling vi~t, xem nhu nghi huu luau, quay vScham sac YUanphong Ian bi b6 be tu luc b~td~uvi~tbQsach l~p trinh Windows k~ tren. .

Nghi huu thi~u vai tMng thl dung 3 Dam,vao tMng 5/2003, anh Nguy~n Hfru Thi~n,nguai sang l~p ra ta bao eChip, mai tham gia vi~t sach tMnh l~p tu sach tin hQccho tabaa. Th~ la "a Ie h~p" nguai vi€t d6ng 9 ngay, cho d?t mua mQt10sach vS C#, .VB.NETva .NET Framework d6 nghien clm. Cang dQctai li~u cang th~y cai ligon ngfrmai nay nokhac vai C++ di truac kM nhiSu, ra rang m<;tchl<;tckhong r6i r~m nhu truac va dt d~ hQCmQtcach r~t u t1)'nhien. Th€ la mQtm<;tchtu thang 5/2003 d~n nay, nguai vi€t dii hoanchinh xong 8 t~p. M6i t~p dill vao khoang tu 600 d~n 750 trang.

B<;tnClr thu hlnh dung la trong nganh di~n toaD, Clr vao khoang mQt th~p DieDthl comQt cuQCcach m<;tngnho nM trong cach ti~p c~n vS l~p trinh. Vao th~p DieD 1960 la Sl)'


Recommended