Phần lớn các điều khiển của asp.net hỗ trợ 1 hoặc nhiều sự kiện, ví dụ điều khiển ASP.NET Button hỗ trợ sự kiện Click, khi người sử dụng nhấn chuột vào Button một sự kiện sẽ được đưa ra và công việc này được xử lý trên server.dụng nhập dữ liệu vào Textbox và nhấn vào Button sự kiện Button1_Click được đưa ra và điền dữ liệu từ TextBox và Label. 1.6 Hiểu về View State Giao thức http là giao thức nền móng của WWW, là một giao thức chuẩn thực tế.mỗi lần bạn request một trang từ website, một dữ liệu mới được đưa ra, ASP.NET Framework có thể quản lý được vượt ra ngoài giới hạn của giao thức http, ví dụ bạn điền dữ liệu vào một điều khiển Label với thuộc tính Text của nó, dữ liệu này sẽ được lưu trữ qua nhiều trang web và chỉ thay đổi khi nó được gán lại giá trị. Ví dụ sau sẽ đưa một một trang asp.net trong đó gồm 2 điều khiển Button và Label(Text của nó hiển thị số đếm), mỗi lần nhấn vào Button thì giá trị
T Hc Microsoft ASP.NET Bn quyn ca: www.vovisoft.com Rào Trc Hành trang vào Khóa Hc ASP.NET Ta nên chun b sn mt s kin thc cn bn v lp trình hay phát trin mng khi bc vào khóa hc này thì tt hn, vì tuy bn không cn phi bit v ASP c đin (classic ASP) nhng, nh chúng tôi đã trình bày trong phn FAQ trang Chào Mng đu khóa hc, bn cn: • tham kho các bài vit trong khóa Hc Microsoft .NET ca thy Lê Ðc Hng đ làm quen vi .NET framework, Visual Basic.NET, Visual Studio.NET. VB.NET s đc dùng làm ngôn ng mc đnh (default) trong các thí d, các bài tp hay các d án ca khoá. • bit tng quát v HTML (HyperText Markup Language) khi ta cn trình bày các trang web trên browser. Browser đc dùng trong khoá này là IE6 (Internet Explorer Version 6). • quen thuc vi các h điu hành mi hin nay (Operating System) nh Windows 2000 (Professional hay Server) hay Windows XP (Home hay Professional), cng nh quen thuc cách qun lý các ng dng liên h nh Web Server (Personal Web Server hay Internet Information Server - IIS) và các c s d liu (database) MS SQL Server 2000 - xin tham kho các bài vit v MCSE ca thy V Hu Tín, thy Tng Vinh Tài và lp MCSE. • vài kin thc cn bn v XML liên quan đn vic chuyn thông tin t ch này qua ch khác. V XML, bn nên tham kho các bài vit XML, K Thut Nng Ct trong Tng Lai ca thy Lê Ðc Hng và các bài t hc XML ca cô Bch Trí cng trên mng Vovisoft này). Tht ra, ta đâu làm khó nhau chi nhng phi rào trc đón sau nh vy là vì con đng ta đi tìm hiu v ASP.NET hi lt lo gp ghnh. Mt khi ta phát trin mng vi ASP.NET, ta phi vn dng tt c các ng dng liên h và kt hp mi th vào nhau. Ðó cng là lý do ti sao khoá hc này ch nhm vào các lp trình viên đã có kinh nghim phát trin mng. Tuy vy, chúng tôi s c gng trình bày mt cách đn s, ngn và gn khi đ cp đn các ng dng k trên trong các bài hc có liên quan đn đ bn (nht là bn nào thích thú trong vic phát trin mng và mi làm quen vi ASP.NET) d dàng theo di và tìm hiu v ASP.NET. Nhu Liu (Software) Nhu liu (phn mn hay software) ti thiu phi có đ hc khoá ASP.NET thành công: • V h điu hành (Operating System): ta nên dùng Windows 2000 (Professional hay Server) hay Windows XP (Home hay Professional). Lý do chính là các versions ca Windows này h tr Unicode và có th cài t do Internet Information Server (IIS Version 5) h tr ASPX đ ta dùng cho ASP.NET vì IIS đc cung cp min phí trong các h điu hành k trên. • Ngoài ra, bn cn phi có .NET framework SDK (Software Development Kit) ti xung t mng Microsoft. Chúng tôi s trình bày vic at3i xung đâu và công cuc b trí nh th nào bài hc s 1. Nu nh bn đã có và cài đt Microsoft Visual Studio.Net (VS.NET) theo s hng dn các bài hc ca khóa Hc Microsoft .NET thì càng tt na. Vì rãi rác trong các bài hc v ASP.NET, chúng tôi cng trình bày mt s thí d dùng VS.NET cho ASP.NET mc dù tht ra ch cn có Notepad thôi đã cng . d xài sut nm. • Cui cùng, bn cn phi có và cài đt thành công mt c s d liu (Database) vng mnh tng ng vi OLE DB- compliant database system nh SQL Server 2000 đ dùng lu tr nhng thông tin cn thit. Tuy nhiên, ta cng có th dùng MS Access 2000 đ tm thi thay th SQL Server 2000 cho các thí d trong khoá phn nhiu trình bày các ni và các kiu thu thp d liu hay thông tin xuyên qua SQL Server 2000. Ti sao ta li quan tâm và phát trin mng vi ASP.NET Ta phi công nhn mt điu là .NET Framework và các ng dng ca nó đã và đang to mt cuc cách mng k thut trong công ngh Tin Hc (Information Technology), thay đi tn gc r các kiu mu lp trình hay phát trin và trin khai mng trên th gii và do đó to mt vn hi mi đáp ng mi yêu cu khn thit cho các ngành ngh k thut và thng mi hin nay cng nh vch mt hng đi vng chc và dài lâu cho tng lai Tin Hc. ASP.NET chính là mt trong nhng ng dng quan trng nht đ phát trin và trin khai mng mt cách d dàng cha tng . thy t xa đn nay. Tht vy, không phi là chúng tôi khoái . n đâu, hãy lng nghe th chính Microsoft đã nói v ASP.NET nh th nào: 'ASP.NET is a revolutionary programming frramework that enables the rapid development of powerful web applications and services. Part of the Microsoft .NET Platform, it provides the easiest and most scalable way to develop, deploy and run distributed web applications that can target any browser or any application.' Có y chang nh vy hay không? hay là ch qung cáo theo kiu . 'cao đn hn tán' mà thôi? Chúng ta hãy . 'ngi xung đây, hãy ngi xung đây' và ngi gn li vi nhau đ nhìn cho rõ nhng đc tính không . tm thng ca ASP.NET nh sau: Developer Productivity Easy Programming Model: ASP.NET giúp ta phát trin và trin khai các ng dng v mng trong mt thi gian k lc vì nó cung cp cho ta mt kiu mu lp trình d dàng và gn gàng nht. Ngoài ra còn bãnh hn na, các trang ASP.NET làm vic vi mi browsers hin nay nh Internet Explorer (IE), Netscape, Opera, AOL, . mà không cn phi đi ti đi lui các ngun mã rt vt vã nh trc. Flexible Language Options: Không nh ASP kiu c đin ch gii hn vi VBScripts and JScripts, ASP.NET ym tr trên 25 .NET ngôn ng lp trình (d nhiên ngoài các ngôn ng mi thit lp đã cài sn ym tr .NET framework nh là VB.NET, C# và JScript.NET còn có MC++.NET, Smalltalk.NET, COBOL.NET, Eiffel.NET, Perl.NET, Component Pascal.NET, Mercury.NET, Oberon.NET, Python.NET, vân vân và vân vân . không k xit). Great Tool Support: Mc dù ta có th ch cn dùng ti Notepad đ trin khai các trang ASP.NET nhng Visual Studio.NET giúp nng sut trin khai mng thêm phn hiu qu ví ta có th quan sát các k hoch ca ta d dàng hn khi phát ha (design) các thành phn ca ASP.NET bng hình nh vi ASP.NET Web Forms hay Services theo phng pháp 'drag-drop-doubleclick' quen thuc ca nn Windows. Thêm na, li còn ym tr ta trong vic phát hin và loi b nhng li sai mt cách rt thun li trong khi phát trin các ng dng v mng (support for debugging and deploying ASP.NET Web applications). Ðây là trang đu tiên khi dùng Visual Studio.NET: Rich Class Framework: Nh nn tng vng vàng và tài nguyên phong phú ca .NET Framework vi hn 5000 classes bao gm đ th mi chuyn trên tri di đt nh XML, data access, file upload, regular expressions, transactions, message queuing, SMTP mail, vân vân và vân vân . nên vic thit k các đc tính trong mt ng dng tr nên nh nhàng và thoi mái hn xa rt nhiu. Improved Performance and Scalability Compile execution: ASP.NET không nhng chy nhanh hn ASP c đin gp 5 ln mà còn có th duy trì kiu mu cp nht gi là kiu mu 'just hit save', ngha là ASP.NET t đng dò tìm mi s thay đi và compile files khi cn thit cng nh lu tr kt qu compile đó đ cung ng dch v cho nhng yêu cu tip theo sau, nh vy ng dng ca bn luôn luôn cp nht hóa và chy nhanh hn c . nga Nhâm Ng 2002. Rich output caching: ASP.NET có kh nng lu tr mt kt qu chung trong phân b memory ca trang đ gi gii đáp cho cùng mt yêu cu t nhiu khách hàng khác nhau và nh đó không nhng tit kim đc s lp đi lp li công tác thi hành ca mt trang web mà còn gia tng hiu xut mt cách ngon mc do gii hn ti đa vic cht vn các c s d liu (eliminating the need to query the database on every request) rt tn nhiu thi gian. .NET Outperforms J2EE: Trong vic đi đu vi nhau v hiu xut (performance) và scalability vi cùng mt ng dng phát trin gia Sun's Java Pet Store J2EE và ASP.NET thì ASP.NET không nhng nhanh vt tri hn J2EE đn 28 ln (khoãng 2700%), ngun mã li ít hn nhiu (khoãng 1/4 ngun mã ca J2EE) mà còn dùng b x lý (processor) ch khoãng 1/6 ln so vi vic s dng processor ca J2EE. Nu mun tìm hiu thêm, bn có th truy tìm d dàng nhng trang so sánh nh vy khi ni vào Internet đ 'search' v hiu xut ca c hai sn phm. Enhanced Reliability Memory Leak, DeadLock và Crash protection: ASP.NET cng có kh nng t đng dò tìm và phc hi (detects and recovers) nhng tr ngi nghiêm trng nh deadlocks hay b nh (memory) b r đ bo đm ng dng ca bn luôn luôn sn sàng khi dùng mà không làm cn tr vic cung ng dch v cn thit thng l. Easy Deployment Simple application deployment: ASP.NET đn gin hóa vic trin khai ng dng mng, do đó bin vic trin khai toàn b ng dng tr nên d dàng và thun li hn hn trc kia vì bây gi ta ch cn sao (vi XCOPY) và lu tr Server ch không cn phi chy chng trình 'regsrv32' đ đng ký bt c thành phn nào c, và thêm na, khi cn lu tr nhng yu t ph cn thit cho vic thit lp hay b trí các ng dng, ta ch cn lu gi nó vào trong mt h s di dng XML là đ. Dynamic update of running application: ASP.NET cho phép ta t đng cp nht hóa (update) các thành phn đã compiled (compiled components) mà không cn phi khi đng li (re-start) các Web Server. Easy Migration Path: Ta không cn phi du nhp nhng ng dng đc phát trin và trin khai bng ASP c đin hin có ca bn vào ASP.NET vì ASP.NET có th chy song song vi . cu chin binh ASP cùng mt Internet Information Server (IIS) trong nn Windows 2000 hay nn Windows XP. Các ng dng c vn tip tc chy ht sc thoi mái vi ASP.DLL trong khi ASP.NET engine s x lý các ng dng mi. Ngoài ra, ASP.NET còn cho phép bn dùng li nhng thành phn thng mi hin nay kiu COM c đin trong các ng dng ca nó. XML Web Services: Dch v tân k v mng vi XML cng cho phép bn truyn đt (communicate) và chia x (share) các d kin (data) xuyên qua mng Internet d dàng ti các SOAP client mà không h phân bit đi x các h điu hành hay các ngôn ng lp trình khác nhau (regardless of OS or programming language). Nh đó, ta không cn phi hc thêm hay đào sâu các kin thc v Networking, XML hay SOAP, . Mobile Web Service Support: Thêm na, ASP.NET Mobile Controls còn giúp ta phát trin và trin khai mng nhm vào th trng nhng cell phone hay PDA vi gn hn 80 Mobile Web Services đuc cung cp trong .NET framework. Bn ch cn lp trình cho ng dng ca bn nh thng l ri phó mc cho Mobile Controls đó t đng phát sinh ra nhng ngun mã nh WAP/WML, HTML hay iMode thích hp vi tng loi thit b (device) riêng bit. Thôi, đn đây ta tm ngng . 'đánh bóng' nhng gì đã sáng chói đó mà hít mt hi tht dài, bc mt bc khi đu cho cuc hành trình tìm hiu và thc hành v ASP.NET. Vy xin mi bn hãy sang sông, à không, sang . trang vi bài s 1 'Làm Quen vi ASP.NET' Bài 01 Làm Quen vi ASP.NET Hãy ngi xung đây, hãy ngi xung đây, xa cn bun phin. Du bit chia phôi, nhng trong cuc đi, vn có đôi ta. Hãy ngi xung đây - Lê Uyên Phng Trong trang này, ta s tham kho mt s vn đ nh sau: • ASP.NET là gì? • Phng pháp làm vic trong mng • S lc v .NET Framework • B trí và cài đt ASP.NET • To trang ASP.NET đu tiên Chc hn ta có dp đc nghe Nguyn Ngc Ngn k vi K Duyên rng ông đã b công gn 2, 3 nm tri đng đng đ . nghiên cu rt là cc kh mi khám phá ra mt chân lý nh sau: 'Thà là ly v va tr va đp còn hn là ly v . va già va xu'. Ta thì không cn phi tn nhiu nm tháng đn th đ bit đc ASP.NET va tr va đp hn là ASP hoc nhng phng pháp phát trin mng c đin khác nhng dù có bit rõ ASP.NET va tr va đp (Microsoft chính thc khai trng sn phm .NET Framework và MS Visual studio.NET vào ngày 13 tháng Hai nm 2002, tuy nhiên rt nhiu phiên bn Beta2 đã đc ph bin khp th gii gia nm 2001) nhng my ai bit đc ASP.NET là gì và dung nhan . mùa h ra làm sao? Vy ta 'hãy ngi xung đây' đ bt đu làm quen vi ASP.NET. ASP.NET - EM LÀ AI? Trc ht, h tên ca ASP.NET là Active Server Pages .NET (.NET đây là .NET framework). Nói đn gin, ngn và gn thì ASP.NET là mt công ngh có tính cách mng dùng đ phát trin các ng dng v mng hin nay cng nh trong tng lai (ASP.NET is a revolutionary technology for developing web applications). Bn lu ý ch ASP.NET là mt phng pháp t chc hay khung t chc (framework) đ thit lp các ng dng ht sc hùng mnh cho mng da trên CLR (Common Language Runtime) ch không phi là mt ngôn ng lp trình. Ngôn ng lp trình đc dùng đ din đt ASP.NET trong khóa này là VB.NET (Visual Basic .NET) và VB.NET ch là mt trong 25 ngôn ng .NET hin nay đc dùng đ phát trin các trang ASP.NET mà thôi. Tuy mang h tên gn ging nh ASP c đin nhng ASP.NET không phi là ASP. Ta s lc đây vài khác bit gia ASP.NET và ASP đ bn có khái nim tng quát và s trình bày thêm chi tit khi đào sâu vào tng đim đc trng (features) ca ASP.NET tng bài hc mt. KHÁC BIT GIA ASP.NET VÀ ASP ASP.NET đc phác tho (re-design) li t s không, nó đc thay đi tn gc r và phát trin (develop) phù hp vi yêu cu hin nay cng nh vch mt hng đi vng chc cho tng lai Tin Hc. Lý do chính là Microsoft đã quá chán nãn trong vic thêm tht và kt hp các công dng mi vào các kiu mu lp trình hay thit k mng theo kiu c đin nên Microsoft ngh rng tt nht là làm li mt kiu mu hoàn toàn mi thay vì vá víu ch này ch n vào ASP. Ðó là cha k đn nhiu phát minh mi ra đi sau này da trên các khái nim mi m theo xu hng phát trin hin nay ca công ngh Tin Hc (Information Technology) cn đc đa vào kiu mu phát trin mi đó. Nh vy, ta mi có th nói . khi khi ASP.NET không phi là ASP. Tht vy , ASP.NET cung cp mt phng pháp hoàn toàn khác bit vi phng pháp ca ASP. Lu ý, mc dù ASP.NET và ASP khác bit nhau nhng chúng có th hot đng vui v hài hoà vi nhau trong Web Server ca bn (operate side-by-side). Do đó, khi bn cài ASP.NET engine, bn không cn lp trình li các ng dng hin có di dng ASP ca bn tuy rng, nu mun, bn có th làm điu đó rt d dàng. S THAY ÐI C BN ASP đã và đang thi hành s mng đc giao cho nó đ phát trin mng mt cách tt đp nh vy thì ti sao ta cn phi đi mi hoàn toàn? Lý do đn gin là ASP không còn đáp ng đ nhu cu hin nay trong lãnh vc phát trin mng ca công ngh Tin Hc. ASP đc thit k riêng bit và nm tng phiá trên h điu hành Windows và Internet Information Server, do đó các công dng ca nó ht sc ri rt và gii hn. Trong khi đó, ASP.NET là mt c cu trong các c cu ca h điu hành Windows di dng nn hay khung .NET (.NET framework), nh vy ASP.NET không nhng có th dùng các object ca các ng dng c mà còn có th x dng tt c mi tài nguyên mà Windows có, d dàng nh . n cm tm bì sn ch vy. Ta có th tóm tc đi khái s thay đi nh sau: • Tp tin ca ASP.NET (ASP.NET file) có extension là .ASPX, còn tp tin ca ASP là .ASP. • Tp tin ca ASP.NET (ASP.NET file) đc phân tích ng pháp (parsed) bi XSPISAPI.DLL, còn tp tin ca ASP đc phân tích bi ASP.DLL. • ASP.NET là kiu mu lp trình phát đng bng s kin (event driven), còn các trang ASP đc thi hành theo th t tun t t trên xung di. • ASP.NET x dng trình biên dch (compiled code) nên rt nhanh, còn ASP dùng trình thông dch (interpreted code) do đó hiu sut và tc đ phát trin cng thua sút hn. • ASP.NET ym tr gn 25 ngôn ng lp trình mi vi .NET và chy trong môi trng biên dch (compiled environment), còn ASP ch chp nhn VBScript và JavaScript nên ASP ch là mt scripted language trong môi trng thông dch(in the interpreter environment). Không nhng vy, ASP.NET còn kt hp nhun nhuyn vi XML (Extensible Markup Language) đ chuyn vn các thông tin (information) qua mng. • ASP.NET ym tr tt c các browser và quan trng hn na là ym tr các thit b lu đng (mobile devices). Chính các thit b lu đng, mà mi ngày càng ph bin, đã khin vic dùng ASP trong vic phát trin mng nhm vn ti th trng mi đó tr nên vô cùng khó khn. PHNG PHÁP LÀM VIC TRONG MNG Internet đã và đang đem li nhiu điu k diu cho đi sng ca ta. Tht vy, nó có kh nng 'ni vòng tay ln' mi ngi trên th gii tng chng nh cách bit xa xôi ngàn dm bng dng li gn trong gang tt, k thut này đã mang li bit bao nhiêu điu mi m đn cho ta t nh e-mail, instant messaging hay World Wide Web (hay gi tc là WWW hay Web hay mng) làm vic thông tin liên lc tr nên d dàng, do đó con ngi cùng đi sng cng thay đi nhanh chóng nh .'cun theo chiu gió'. T khi đu, vic phát trin 1 mng ht sc là đn gin, ch cn mt hay vài trang trong đó ta mun chia s bt c thông tin gì ta thích là chc chn cng có ngi ghé qua thm ving. Tuy vy, các trang trong thi k khi nguyên ca mng rt th đng, nó không cho phép khách vãng lai trao đi thông tin mt cách h tng (interact) vi ta, ngha là thm thì có thm nhng không hi hay chia s đc gì vi nhau. Dn dà, mng phát trin thêm nhiu công dng khác nhau gn thêm vào nào là hình nh, nào là tables, forms và cui cùng có th trao đi thông tin hay tâm tình vi khách vãng lai qua các ng dng nh guestbook, thm dò ý kin (user, customer hoc là client poll) hay các din đàn vi mi tit mc trên tri di đt. Sau đó, các chuyên gia phát trin mng li thêm tht và trang đim cho mng ca mình càng lúc càng đc sc hn, cùng muôn mu muôn v. Tt c nhng c gng đó đã đem tác đng h tng đn gia Web Master (hay nhóm qun lý mng) và khách vãng lai nh ta đc chng kin hin nay, tuy vy vn còn thiu hn 1 phn quan trng nht là phn ni dung c đng tu bin (dynamic content). Do đó vai trò ca phng pháp dch v (server processing) đc phát trin đ có th trình bày ni dung đc lu tr trong các c s d liu (database) tu theo yêu cu riêng bit cho tng cá nhân. KIU MU RESQUEST/RESPONSE Kiu mu này chính là toàn b phng pháp làm vic theo kiu Client /Server hin dùng vi ASP. Client/Server - Mt trng hp đn gin nht là s trao đi thông tin gia 2 máy vi tính đ hoàn thành 1 công vic đc đnh trc, trong đó máy Server cung cp dch v theo yêu cu ca 1 máy khách hành (Client PC). Thng thng, Server là máy vi tính lu tr thông tin v mng trong đó có hình nh, video, nhng trang HTML hay ASP. Client là máy vi tính đc dùng đ lt mng. Mt cách tng quát phng pháp này gm có 4 bc c bn sau: 1. Client (thông qua Internet Browser) xác đnh v trí ca Web Server qua 1 ni URL (Universal Resource Locator) t nh www.vovisoft.com 2. Client s yêu cu đc tham kho 1 trang trong mng đó và thng là trang ch (home page) t nh index.htm hay default.htm 3. Server đáp ng bng cách hoàn tr h s mà Client đã yêu cu. 4. Client nhn đc h s gi v và hin th (display) trong browser ca mình. Lu ý, mt khi Client đã nhn đc h s ri, quá trình trao đi qua li đó kt thúc ngay tc khc. Sau đó, Server và Client tr thành . 'ngòi xa l', coi nh là cha tng bao gi gp nhau (stateless model), ta gi là kiu . 'làm ng'. KIU MU EVENT-DRIVEN Kiu mu event-driven này dùng vi ASP.NET cng tng t nh là kiu mu event-driven mà ta vn thng dùng trong khi lp trình các ng dng vi Visual Basic 6. Trong kiu mu này, Server s không 'ngi . chi xi nc' ch Client yêu cu tham kho 1 trang nào đó trong mng mà Server đã b trí và k hoch sn trc tt c mi tình hung đ có th hành đng kp thi mi khi Client quyt đnh làm 1 điu gì đó. Ta gi đó là 'response to your action', còn trong kiu mu trc là 'response to your request', nh vy ASP.NET có th phát hin ra các hành đng ca Client đ phn ng cho thích hp. Ðc ti đây chc bn s hi li ngay rng: 'a, nhng mà làm sao mt Server nào đó, có th tn đâu đâu bên kia đa cu, li bit đc là ta đang gõ vài mu t trong mt hp ch hay là đang nhp mi chut (click) vào button trong phn Guestbook hay Forum ca Vovisoft đ gi đi mt thông đip làm quen vi Vovisoft?'. À, s d Server có th làm đc 'chuyn . khó tin nhng có thit đó' là da vào tin trình x lý linh đng Client (gi là clever client-side processing) đ thc hin kiu mu event-driven này ca mình. Tin trình x lý Client xãy ra khi ta b trí ngun mã thích hp mà Client có th hiu đc trong các trang ta gi v cho Client. Lu ý là mc dù các trang mng (web page) ta đu cha Server nhng ngun mã li có th đc thc hin và x lý, hoc Server hoc Client (Server-Side processing và Client-Side processing) tu theo cách ta b trí. Tht vy, ASP.NET không th nào bit đc chuyn gì s xãy ra máy vi tính ca bn (Client PC) nhng nh vào tin trình x lý linh đng Client mà Server có th tin hành kiu mu phát trin mng mi theo phng pháp event-driven. Nh là ta có th chy ngun mã 2 ch khác nhau: hoc là chy Server (gi là Server-side) hoc là chy Client (Client- side) và các ngun mã 2 ch này hoàn toàn khác bit, không có tác đng h tng vi nhau (no interact with each other). Ðiu đó có ngha là máy Client s chu trách nhim thi hành các ngun mã đc lp trình dành cho mình cng nh máy Server ch chy các ngun mã dành cho Server. Thông tin hay ni dung cn thit Server s đc chuyn sang dng HTML đn gin (plain HTML) trc khi gi đn cho Client, thng thì ngun mã dành cho Client cng đc chuyn đi di dng 'plain text command' đ thc hin các hiu ng nng đng (dynamic effect) máy Client, t nh thay đi hình nh (image rollover) hay hin th mt thông đip (message box). ASP.NET s dùng các ngôn ng mi có trình biên dch (compiled languages) nh C# hay VB.NET đ son các ngun mã trong các trang Web Server. S LC V .NET FRAMEWORK Mi chc nng ASP.NET có đc hoàn toàn da vào .NET framework, do đó có ch .NET trong ASP.NET. Ta cn phi hiu thu đáo kin trúc h tng ca .NET framework đ dùng ASP.NET mt cách hiu qu, trong đó quan trng nht là CLR và .NET Framework Class. CLR (COMMON LANGUAGE RUNTIME) CLR là môi trng đc dùng đ qun lý s thi hành các ngun mã (manage the execution of code) mà ta đã son ra và biên dch (write and compile code) trong các ng dng. Tuy nhiên khi biên dch ngun mã, ta li biên dch chúng ra thành mt ngôn ng trung gian gi là Microsoft Intermediate Language (MSIL). Chính MSIL trung gian này là ngôn ng chung cho tt c các ngôn ng .NET hin có, do đó chc bn cng đoán ra là ASP.NET cng đc biên dch (compile) ra MSIL nh mi ai khác. Trong khi biên dch nh vy, các ng dng cng sn xut ra nhng thông tin cn thit đ t . qung cáo chính mình, ta gi nhng thông tin này là metadata. Ðn khi ta chy mt ng dng, CLR s tip qun (take-over) và li biên dch (compile) ngun mã mt ln na ra thành ngôn ng gc (native language) ca máy vi tính trc khi thi hành nhng công tác đã đc b trí trong ngun mã đó. Ta có th cm thy nhng vic bn rn sau hu trng đó khi phi ch đi 1 khoãng thi gian cn thit đ CLR chm dt nhim v ca nó khi ln đu phi biên dch (compile) và hin th 1 trang Web, nhng ri mi chuyn s xuôi chèo mát mái, cui cùng là ta có mt trình biên dch (compiled code) đ x dng rt hiu qu. .NET FRAMEWORK CLASSES Ðiu quan trng nht mà ta cn phi nh là mi th trong .NET đu là object, t nh các trang ASP.NET, các hp thông đip (message box) hay là nút bm (button), tt c đu là object c. Các object đó đc t chc li thành tng nhóm riêng bit nh trong mt th vin đ ta d dàng x dng. Ta gi các nhóm nh vy là namespaces, và ta s dùng nhng namespace này đ gi hay nhp (import) các class cn thit cho ng dng ca mình. đây, ta ch s lc mt chút v .NET framework mà thôi, bn có th tham kho đy đ chi tit v .NET framework các bài vit ca thy Lê Ðc Hng trong khóa Hc .NET Framework và VB.NET CÀI ÐT ASP.NET Ð chy trang ASP.NET, trc ht ta cn phi cài đt thành công: • Internet Information Server (IIS) và b trí Virtual Directory dùng trong khóa T Hc ASP.NET ca Vovisoft. • MS Visual Studio.NET - trong trng hp này thì MS Visual Studio.NET đã cài sn .NET Framework SDK cho ta dùng vi ASP.NET hoc là Microsoft ASP.NET Web Matrix (chi tit đc trình bày bài Gii Thiu V Web Matrix). • .NET Framework Software Development Kit (SDK) - nu ta không có MS Visual Studio.NET, ta có th ti .NET Framework Software Development Kit (SDK) xung t do t mng www.microsoft.com/NET , vi SDK, ta ch có th dùng Notepad hoc mt Text Editor nào ta thích đ phát trin trang ASP.NET mà thôi. Nh là ASP.NET là k thut phát trin mng phiá Server, do đó ta phi cn có Internet Information Server (hay thng đc gi đn gin hn là Web Server) đ son (phát trin hay lp trình) các trang v mng cho khách vãng lai ghé thm cng nh tham kho các thông tin liên h. Nhng khác vi các trang ASP c đin, Web Server s không hiu các trang ASP.NET nu nh ta quên hay b sót không cài .NET Framework SDK hoc không cài MS Visual Studio.NET, chính nh .NET Framework SDK mà ta có đy đ các công dng và các object hay classes cn thit cho các trang ASP.NET ca ta. CÀI INTERNET INFORMATION SERVER (IIS) Internet Information Server (IIS) Version 5.0 là mt sn phm 'cho không . biu không' ca Microsoft khi ta mua MS Windows 2000 Professional hay MS Windows XP Professional. IIS chuyên tr v Web Server, qua đó ta có th cung cp các dch v nói chung v mng cho khách vãng lai, mà dch v v mng thì thiên hình vn trng, nh xíu nh t cây kim si ch cho đn v đi nh phi thuyn, gii Ngân Hà hay v tr, đu có th đc b trí đy đ thông tin hay các ng dng liên h cn thit đ đáp ng nhu cu ca khách vãng lai. 1. Ð cài IIS Version 5.0 trong MS Windows XP Professional, ta bt đu chn: • Start, Settings, Control Panel, Add/Remove Programs và nhp đn (click) Add/Remove Windows Components, xong chn Internet Information Server nh sau: 2. Nu ta nhp đn nút <Details>, ta có th t do la chn thêm hay bt các thành phn trong IIS, t nh ta có th b trí thêm File Transfer Protocol Service (FTP Server) đ qun lý mt cách hiu qu hn vic ti lên (upload) hay ti xung (download) các h s (documents) hay tp tin (files). 3. Nhp nút <Next>, Windows XP Professional s thu thp các thông tin liên h và bt đu tin trình cài đt IIS. Ch trong vòng vài phút là ta đã có mt Web Server ngon lành trong máy vi tính. Gi đây, bn đã tr thành mt Web Master . 'bt đc d'. Xin chúc mng tân Web Master, ít ra ta cng tr thành Web Master chính máy vi tính ca ta (Web Master ca local host). 4. Ð xác đnh vic cài thành công Web Server, ta có th th nh sau: • M Browser ca bn, t nh Microsoft Internet Explorer và gõ hàng ch nh sau vào hp đa ch (Uniform Resource Locator) http://localhost hay http://cantho cantho (Cn Th) trong trng hp này chính là tên máy vi tính ca tôi đó (Computer Name). Ta có th gi localhost hay cantho tu ý. • Sau khi ta nhp nút <Enter>, trang mc đnh (default page) ca IIS s hin th nh sau: B TRÍ VIRTUAL DIRECTORY DÙNG TRONG KHÓA T HC ASP.NET CA VOVISOFT Trc khi ta có th to ra và b trí mt virtual directory tên là VovisoftASPNET (hoc bt c tên nào bn thích) dùng trong khóa T Hc ASP.NET này, ta phi làm mt s vic nh sau: • To ra 1 sub folder Vovisoft ASPNET cho các bài tp (Exercises). • Vào (access) bên trong Web Server đ kim tra hay qun lý các tài nguyên trong mng. • B trí virtual directory VovisoftASPNET. Chi tit các bc theo th t nh sau: 1. To ra mt sub directory có tên là Vovisoft ASPNET cu trúc drive D nh sau: D:\Net\Vovisoft ASPNET, đ ý là có mt ch trng gia 2 ch Vovisoft và ASPNET. Tuy vy, nu bn nhuyn v IIS, bn có th đt tên tùy thích và không nht thit phi theo y chang kiu mu này, nhng bn phi hiu vic bn làm đ b trí mt virtual directory thích hp dùng thc hành các bài tp trong khóa sao cho thành công. 2. Có nhiu phng pháp vào (access) bên trong Web Server trc khi b trí virtual directory, ta có th dùng MMC (Microsoft Management Console) đ cng thêm IIS snap-in vào console hoc ta có th chy IIS bng cách chn: Start, Programs, Administartive Tools, Internet Information Service . Phng pháp dùng MMC là phng pháp đc các MCP (Microsoft Certified Professional) hay MCSE (Microsoft Certified System Engineer) a thích hn vì tính cách linh đng mm do thích hp cho vic qun lý các ngun tài nguyên khác nhau trong mng. Di đây là hình đc trng cho vic dùng MMC: [...]... ây' trong bài tham kh o v ph liên h nh sau: ng pháp xây d ng trang ASP. NET (hay g i là Web Form) và m t s v n Phân tích mã trang ASP. NET u tiên Xây d ng m t trang ASP. NET n gi n Vài nh n xét khi dùng ASP. NET và HTML PHÂN TÍCH MÃ TRANG ASP. NET Ð U TIÊN Ta th xem l i ngu n mã Bài t p 2 c a trang ASP. NET u tiên trong Bài 01 'Làm Quen V i ASP. NET': sub Page_Load(obj... DÙNG ASP. NET VÀ HTML Code Declaration Blocks và Code Render Blocks Ði u làm nh t 1 trang ASP c u các chuyên gia m i làm quen v i l p trình là không bi t dùng cái nào vào cái nào và khi nào Khi tham kh o i n, ta th y b i r i ngay vì code n m 'lo n xà ng u', tr n l n gi a HTML code và VBSCript (hay JavaScript) ASP. NET ã n gi n hoá c i u này Nh ã trình bày u trang, ASP. NET cung c p 2 cách l p trình. .. http://cantho/DevASPNET/Bai01/vs-welcome webform1.aspx là trang web mà ta v a phát tri n Bài t p 2: Dùng Notepad t o trang ASP. NET c MS VS.NET t o ra trong Server cantho (hay co th dùng localhost) u tiên M c ích: bài t p 2, ta c ng hi n th hàng ch "Welcome to Khóa T H c ASP. NET" trong trang ASP. NET chào m ng các b n n v i khóa h c này c a Vovisoft Tuy nhiên, bài t p này, ta ch dùng Notepad t o ra 1 trang ASP. NET... D:\Net\Vovisoft ASPNET\Bai01\np-welcome\ Khi l u tr np-welcome.apsx d i 1 subdirectory nh trên, ta c tình mu n dùng virtual directory VovisoftASPNET ã t o ra trong IIS hi n th trang web này 3 Hi n th trang ASP. NET u tiên này v i IE Client Browser và gõ hàng ch d i ây vào h p a ch (Address): http://cantho/VovisoftASPNET/Bai01/np-welcome/np-welcome.aspx r i nh p vào nút Ta s có 1 trang ASP. NET v i... Nh c Tr n Quang L c) Trong Bài 'Làm Quen V i ASP. NET', ta nh n th c c ASP. NET gi i thi u m t ph ng pháp m i v l p trình phát tri n trang web theo ki u m u event-driven gi ng nh dùng ngôn ng l p trình Visual Basic Nh ng ai t ng làm quen và ch l p trình v i ngôn ng script (script language) t nh VBScript hay JavaScript s b ng ôi chút vì mã trong các trang ASP. NET không còn tr n l n v i HTML n a, nh m... trang ASP. NET thu n túy ch ch a ng ch và ch (pure text) nh trang v HTML nh ng âu ai c m ta dùng MS Visual Studio.NET so n các trang ASP. NET và qua ó x d ng giao di n b ng hình (Graphic User Interface - GUI) vi c b trí hay phát tri n thêm ph n d dàng và linh ng L u ý là ph n n i thêm (extension) trang ASP. NET s mang tên aspx ASP. NET u tiên b ng 2 ph ng pháp nh sau: Dùng MS Visual Studio.NET t o trang ASP. NET... quen t t phân bi t mã c a ASP. NET v i mã c a HTML sub Page_Load(obj as object, e as eventargs) lblWelcome.Text = "Welcome to Khóa T H c ASP. NET - Vovisoft" end sub Ph n mã này t o ra m t Procedure có tên là Page_Load m c nh (default) cho các trang ASP. NET gi ng nh Form_Load trong vi c l p trình dùng ngôn ng Visual Basic v i s c (event) Load, khi trang u tiên này c a ra trình bày, ASP. NET s g n hàng ch... ta ph i làm gì c Sau khi trang web c biên d ch, ASP. NET b t u ti n trình x lý t t c ngu n mã k c các s c (events) t nh ta gõ vài ch trong h p ch (text box) ho c nh p (click) m t nút nào ó thì b máy ASP. NET (ASP. NET engine) s nghiên c u, kh o sát bi n c ó quy t nh cách ph n ng và thi hành áp ng l i bi n c theo k ho ch l p trình ã quy nh tr c Ti p theo, ASP. NET bi n i t t c các Server Controls trong trang... Please enter your name: 2 Hi n th trang ASP. NET này v i IE Client Browser và gõ hàng ch d i ây vào h p a ch (Address): http://cantho/VovisoftASPNET/Bai02/baitap01/simple.aspx r i nh n nút ... Number 1: Number 2: . đi nh sau: • Tp tin ca ASP. NET (ASP. NET file) có extension là .ASPX, còn tp tin ca ASP là .ASP. • Tp tin ca ASP. NET (ASP. NET file) đc phân tích. khi ASP. NET không phi là ASP. Tht vy , ASP. NET cung cp mt phng pháp hoàn toàn khác bit vi phng pháp ca ASP. Lu ý, mc dù ASP. NET và ASP khác