Tài liệu asp net vovisoft doc - Pdf 85

T Hc
Microsoft ASP.NET

Bn quyn ca:
www.vovisoft.comRào Trc
Hành trang vào Khóa Hc ASP.NET
Ta nên chun b sn mt s kin thc cn bn v lp trình hay phát trin mng khi bc vào khóa hc này thì tt hn, vì tuy
bn không cn phi bit v ASP c đin (classic ASP) nhng, nh chúng tôi đã trình bày trong phn FAQ  trang Chào Mng
đu khóa hc, bn cn:
• tham kho các bài vit trong khóa
Hc Microsoft .NET ca thy Lê Ðc Hng đ làm quen vi .NET framework,
Visual Basic.NET, Visual Studio.NET. VB.NET s đc dùng làm ngôn ng mc đnh (default) trong các thí d, các
bài tp hay các d án ca khoá.
• bit tng quát v HTML (HyperText Markup Language) khi ta cn 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 thuc vi các h điu hành mi hin nay (Operating System) nh Windows 2000 (Professional hay Server) hay
Windows XP (Home hay Professional), cng nh quen thuc cách qun lý các ng dng liên h nh Web Server
(Personal Web Server hay Internet Information Server - IIS) và các c s d liu (database) MS SQL Server 2000 -
xin tham kho các bài vit v
MCSE ca thy V Hu Tín, thy Tng Vinh Tài và lp MCSE.
• vài kin thc cn bn v XML liên quan đn vic chuyn thông tin t ch này qua ch khác. V XML, bn nên tham
kho các bài vit XML, K Thut Nng Ct trong Tng Lai ca thy Lê Ðc Hng và các bài t hc XML ca cô
Bch Trí
cng trên mng Vovisoft này).
Tht ra, ta đâu làm khó nhau chi nhng phi rào trc đón sau nh vy là vì con đng ta đi tìm hiu v ASP.NET hi lt lo
gp ghnh. Mt khi ta phát trin mng vi ASP.NET, ta phi vn dng tt c các ng dng liên h và kt hp mi th vào
nhau. Ðó cng là lý do ti sao khoá hc này ch nhm vào các lp trình viên đã có kinh nghim phát trin mng. Tuy vy,
chúng tôi s c gng trình bày mt cách đn s, ngn và gn khi đ cp đn các ng dng k trên trong các bài hc có liên

Developer Productivity
Easy Programming Model:
ASP.NET giúp ta phát trin và trin khai các ng dng v mng trong mt thi gian k lc vì nó cung cp cho ta mt kiu
mu lp trình d dàng và gn gàng nht. Ngoài ra còn bãnh hn na, các trang ASP.NET làm vic vi mi browsers hin nay
nh Internet Explorer (IE), Netscape, Opera, AOL, ... mà không cn phi đi ti đi lui các ngun mã rt vt vã nh trc.
Flexible Language Options:
Không nh ASP kiu c đin ch gii hn vi VBScripts and JScripts, ASP.NET ym tr trên 25 .NET ngôn ng lp trình (d
nhiên ngoài các ngôn ng mi thit lp đã cài sn ym 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 xit).
Great Tool Support:
Mc dù ta có th ch cn dùng ti Notepad đ trin khai các trang ASP.NET nhng Visual Studio.NET giúp nng sut trin
khai mng thêm phn hiu qu ví ta có th quan sát các k hoch ca ta d dàng hn khi phát ha (design) các thành phn ca
ASP.NET bng hình nh vi ASP.NET Web Forms hay Services theo phng pháp 'drag-drop-doubleclick' quen thuc ca
nn Windows. Thêm na, li còn ym tr ta trong vic phát hin và loi b nhng li sai mt cách rt thun li trong khi phát
trin các ng dng v mng (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 nn tng vng vàng và tài nguyên phong phú ca .NET Framework vi hn 5000 classes bao gm đ th mi chuyn
trên tri di đ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 vic thit k các đc tính trong mt ng dng tr nên nh nhàng và thoi mái hn xa rt nhiu.
Improved Performance and Scalability
Compile execution:
ASP.NET không nhng chy nhanh hn ASP c đin gp 5 ln mà còn có th duy trì kiu mu cp nht gi là kiu mu 'just
hit save', ngha là ASP.NET t đng dò tìm mi s thay đi và compile files khi cn thit cng nh lu tr kt qu compile
đó đ cung ng dch v cho nhng yêu cu tip theo sau, nh vy ng dng ca bn luôn luôn cp nht hóa và chy nhanh
hn c ... nga Nhâm Ng 2002.
Rich output caching:

XML Web Services:
Dch v tân k v mng vi XML cng cho phép bn truyn đt (communicate) và chia x (share) các d kin (data) xuyên
qua mng Internet d dàng ti các SOAP client mà không h phân bit đi x các h điu hành hay các ngôn ng lp trình
khác nhau (regardless of OS or programming language). Nh đó, ta không cn phi hc thêm hay đào sâu các kin thc v
Networking, XML hay SOAP, ...
Mobile Web Service Support:
Thêm na, ASP.NET Mobile Controls còn giúp ta phát trin và trin khai mng nhm vào th trng nhng cell phone hay
PDA vi gn hn 80 Mobile Web Services đuc cung cp trong .NET framework. Bn ch cn lp trình cho ng dng ca
bn nh thng l ri phó mc cho Mobile Controls đó t đng phát sinh ra nhng ngun mã nh WAP/WML, HTML hay
iMode thích hp vi tng loi thit b (device) riêng bit.
Thôi, đn đây ta tm ngng ... 'đánh bóng' nhng gì đã sáng chói đó mà hít mt hi tht dài, bc mt bc khi đu cho
cuc hành trình tìm hiu và thc hành v ASP.NET. Vy xin mi bn hãy sang sông, à không, sang ... trang vi bài s 1
'Làm Quen vi ASP.NET'

Bài 01
Làm Quen vi ASP.NET
Hãy ngi xung đây, hãy ngi xung đây, xa cn bun phin.
Du bit chia phôi, nhng trong cuc đi, vn có đôi ta.
Hãy ngi xung đây - Lê Uyên Phng

Trong trang này, ta s tham kho mt s vn đ nh sau:
• ASP.NET là gì?
• Phng pháp làm vic trong mng
• S lc v .NET Framework
• B trí và cài đt ASP.NET
• To trang ASP.NET đu tiên
Chc hn ta có dp đc nghe Nguyn Ngc Ngn k vi K Duyên rng ông đã b công gn 2, 3 nm tri đng đng đ ...
nghiên cu rt là cc kh mi khám phá ra mt chân lý nh sau: 'Thà là ly v va tr va đp còn hn là ly v ... va già
va xu'. Ta thì không cn phi tn nhiu nm tháng đn th đ bit đc ASP.NET va tr va đp hn là ASP hoc nhng
phng pháp phát trin mng c đin khác nhng dù có bit rõ ASP.NET va tr va đp (Microsoft chính thc khai trng

ca nó ht sc ri rt và gii hn.
Trong khi đó, ASP.NET là mt c cu trong các c cu ca h điu hành Windows di dng nn hay khung .NET (.NET
framework), nh vy ASP.NET không nhng có th dùng các object ca các ng dng c mà còn có th x dng tt c mi
tài nguyên mà Windows có, d dàng nh ... n cm tm bì sn ch vy.
Ta có th tóm tc đi khái s thay đi nh sau:
• Tp tin ca ASP.NET (ASP.NET file) có extension là .ASPX, còn tp tin ca ASP là .ASP.
• Tp tin ca ASP.NET (ASP.NET file) đc phân tích ng pháp (parsed) bi XSPISAPI.DLL, còn tp tin ca ASP
đc phân tích bi ASP.DLL.
• ASP.NET là kiu mu lp trình phát đng bng s kin (event driven), còn các trang ASP đc thi hành theo th t
tun t t trên xung di.
• ASP.NET x dng trình biên dch (compiled code) nên rt nhanh, còn ASP dùng trình thông dch (interpreted code)
do đó hiu sut và tc đ phát trin cng thua sút hn.
• ASP.NET ym tr gn 25 ngôn ng lp trình mi vi .NET và chy trong môi trng biên dch (compiled
environment), còn ASP ch chp nhn VBScript và JavaScript nên ASP ch là mt scripted language trong môi
trng thông dch(in the interpreter environment). Không nhng vy, ASP.NET còn kt hp nhun nhuyn vi XML
(Extensible Markup Language) đ chuyn vn các thông tin (information) qua mng.
• ASP.NET ym tr tt c các browser và quan trng hn na là ym tr các thit b lu đng (mobile devices). Chính
các thit b lu đng, mà mi ngày càng ph bin, đã khin vic dùng ASP trong vic phát trin mng nhm vn ti
th trng mi đó tr nên vô cùng khó khn.

PHNG PHÁP LÀM VIC TRONG MNG
Internet đã và đang đem li nhiu điu k diu cho đi sng ca ta. Tht vy, nó có kh nng 'ni vòng tay ln' mi ngi trên
th gii tng chng nh cách bit xa xôi ngàn dm bng dng li gn trong gang tt, k thut này đã mang li bit bao nhiêu
điu mi m đn cho ta t nh e-mail, instant messaging hay World Wide Web (hay gi tc là WWW hay Web hay mng)
làm vic thông tin liên lc tr nên d dàng, do đó con ngi cùng đi sng cng thay đi nhanh chóng nh ...'cun theo chiu
gió'.
T khi đu, vic phát trin 1 mng ht sc là đn gin, ch cn mt hay vài trang trong đó ta mun chia s bt c thông tin gì
ta thích là chc chn cng có ngi ghé qua thm ving. Tuy vy, các trang trong thi k khi nguyên ca mng rt th đng,
nó không cho phép khách vãng lai trao đi thông tin mt cách h tng (interact) vi ta, ngha là thm thì có thm nhng
không hi hay chia s đc gì vi nhau.

bit đc là ta đang gõ vài mu t trong mt hp ch hay là đang nhp mi chut (click) vào button trong phn Guestbook
hay Forum ca Vovisoft đ gi đi mt thông đip làm quen vi Vovisoft?'.
À, s d Server có th làm đc 'chuyn ... khó tin nhng có thit đó' là da vào tin trình x lý linh đng  Client (gi là
clever client-side processing) đ thc hin kiu mu event-driven này ca mình. Tin trình x lý  Client xãy ra khi ta b trí
ngun mã thích hp mà Client có th hiu đc trong các trang ta gi v cho Client. Lu ý là mc dù các trang mng (web
page) ta đu cha  Server nhng ngun mã li có th đc thc hin và x lý, hoc  Server hoc  Client (Server-Side
processing và Client-Side processing) tu theo cách ta b trí. Tht vy, ASP.NET không th nào bit đc chuyn gì s xãy ra
 máy vi tính ca bn (Client PC) nhng nh vào tin trình x lý linh đng  Client mà Server có th tin hành kiu mu phát
trin mng mi theo phng pháp event-driven.
Nh là ta có th chy ngun mã  2 ch khác nhau: hoc là chy  Server (gi là Server-side) hoc là chy  Client (Client-
side) và các ngun mã  2 ch này hoàn toàn khác bit, không có tác đng h tng vi nhau (no interact with each other).
Ðiu đó có ngha là máy Client s chu trách nhim thi hành các ngun mã đc lp trình dành cho mình cng nh máy
Server ch chy các ngun mã dành cho Server. Thông tin hay ni dung cn thit  Server s đc chuyn sang dng HTML
đn gin (plain HTML) trc khi gi đn cho Client, thng thì ngun mã dành cho Client cng đc chuyn đi di dng
'plain text command' đ thc hin các hiu ng nng đng (dynamic effect)  máy Client, t nh thay đi hình nh (image
rollover) hay hin th mt thông đip (message box).
ASP.NET s dùng các ngôn ng mi có trình biên dch (compiled languages) nh C# hay VB.NET đ son các ngun mã
trong các trang Web  Server.

S LC V .NET FRAMEWORK
Mi chc nng ASP.NET có đc hoàn toàn da vào .NET framework, do đó có ch .NET trong ASP.NET. Ta cn phi hiu
thu đáo kin trúc h tng ca .NET framework đ dùng ASP.NET mt cách hiu qu, trong đó quan trng nht là
CLR và
.NET Framework Class.
CLR (COMMON LANGUAGE RUNTIME)
CLR là môi trng đc dùng đ qun lý s thi hành các ngun mã (manage the execution of code) mà ta đã son ra và biên
dch (write and compile code) trong các ng dng. Tuy nhiên khi biên dch ngun mã, ta li biên dch chúng ra thành mt
ngôn ng trung gian gi là
Microsoft Intermediate Language (MSIL). Chính MSIL trung gian này là ngôn ng chung cho
tt c các ngôn ng .NET hin có, do đó chc bn cng đoán ra là ASP.NET cng đc biên dch (compile) ra MSIL nh mi

CÀI INTERNET INFORMATION SERVER (IIS)
Internet Information Server (IIS) Version 5.0 là mt sn phm 'cho không ... biu không' ca 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 cp các dch v nói chung
v mng cho khách vãng lai, mà dch v v mng thì thiên hình vn trng, nh xíu nh t cây kim si ch cho đn v đi nh phi
thuyn, gii Ngân Hà hay v tr, đu có th đc b trí đy đ thông tin hay các ng dng liên h cn thit đ đáp ng nhu cu ca
khách vãng lai.
1. Ð cài IIS Version 5.0 trong MS Windows XP Professional, ta bt đu chn:
• Start, Settings, Control Panel, Add/Remove Programs và nhp đn (click) Add/Remove Windows Components, xong chn
Internet Information Server nh sau:

2. Nu ta nhp đn nút <Details>, ta có th t do la chn thêm hay bt các thành phn trong IIS, t nh ta có th b trí thêm File
Transfer Protocol Service (FTP Server) đ qun lý mt cách hiu qu hn vic ti lên (upload) hay ti xung (download) các h s
(documents) hay tp tin (files).
3. Nhp nút <Next>, Windows XP Professional s thu thp các thông tin liên h và bt đu tin trình cài đt IIS. Ch trong vòng vài
phút là ta đã có mt Web Server ngon lành trong máy vi tính. Gi đây, bn đã tr thành mt Web Master ... 'bt đc d'. Xin chúc
mng tân Web Master, ít ra ta cng tr thành Web Master chính máy vi tính ca ta (Web Master ca local host).
4. Ð xác đnh vic cài thành công Web Server, ta có th th nh sau:
• M Browser ca bn, t nh Microsoft Internet Explorer và gõ hàng ch nh sau vào hp đa ch (Uniform Resource
Locator)
http://localhost hay http://cantho
cantho (Cn Th) trong trng hp này chính là tên máy vi tính ca tôi đó (Computer Name). Ta có th gi
localhost hay cantho tu ý.
• Sau khi ta nhp nút <Enter>, trang mc đnh (default page) ca IIS s hin th nh sau: B TRÍ VIRTUAL DIRECTORY DÙNG TRONG KHÓA T HC ASP.NET CA
VOVISOFT

Trc khi ta có th to ra và b trí mt
virtual directory tên là VovisoftASPNET (hoc bt c tên nào bn thích) dùng trong khóa


• Virtual Directory Creation Wizard s bt đu tin trình b trí:

• Nhp vào nút <Next> và gõ
VovisoftASPNET  hp Alias:

• Nhp vào nút <Next> và dùng <Browse...> đ chn sub folder 'D:\Net\Vovisoft ASPNET' mà ta đã chun b trc đây cho
các bài tp ca khóa.

• Chp nhn các b trí mc đnh (default settings) cho virtual directory VovisoftASPNET. Nu thích, ta có th thêm vào đó
quyn Browse (mc đích là sau này ta d truy cp và chy các trang ASP.NET phát trin cho ng dng ca mình).
• Nhp <Next> và sau đó <Finish> đ kt thúc tin trình b trí. Th là ta đã có mt virtual directory đ chy các trang ASP.NET sau này.
Bn thy đó! Vic to ra 1 virtual direcotry còn d dàng hn là n ... 'tô tái nm'.
CÀI MS VISUAL STUDIO.NET
Xin tham kho
bài hc s 1 ca thy Lê Ðc Hng  khóa Hc Microsoft .NET Framework v vic làm sao đ cài đt MS Visual
Studio.NET thành công.
Lu ý: Khi cài MS Visual Studio.NET là ta cng đã cài .NET Framework SDK, do đó ta không cn phi theo nhng ch dn v vic
cài đt .NET Framework SDK nh trình bày  bc k tip.
CÀI .NET FRAMEWORK SOFTWARE DEVELOPMENT KIT (SDK)
Tuy ta có th ti xung min phí .NET Framework SDK  mng
www.microsoft.com/NET nhng lu ý là SDK này gm tng cng
gn hn 130 MBytes nên ta s mt rt nhiu thi gian (khoãng 6, 7 gi) đ ti thành công trong trng hp dùng 56 Kbps modem.
Ngoài ra, thay vì ti qua mng, ta cng có th đt mua SDK cha trong CD-ROM hay truy cp SDK trong các CD-ROM biu kèm
vi các tp chí Tin Hc.
Mt khi đã có .NET Framework SDK ri, ta ch cn chy chng trình
setup là xong. Tin trình này cng s rt lâu vì Windows s

DevASPNET.

Bn có th chn Location nào tùy ý theo s t chc lu tr các d án ca bn, nhng nh đng trùng vi tên ca các Virtual
Directory đã có sn. T nh ta đã to trc 1 virtual directory tên là VovisoftASPNET, sau đó dùng MS VS.NET đ to 1 ASP.NET
Web Application  Location
http://cantho/VovisoftASPNET/Bai01/vs-welcome, ta s gp li sau đây khi Web Server không cho
phép ta 'overwrite' virtual directory đó:

Lu ý:
Nh đã trình bày, chúng ta s không đào sâu chi tit v cách x dng MS VS.NET  đây, xin tham kho  các bài Hc .NET
Framework do thy Lê Ðc Hng son.

2. Nhp vào nút <OK> đ MS VS.NET to ra 1 d án mi. Nu đ ý, ta s thy mt trang ASP.NET đc to ra mt cách mc đnh
(default) vi tên là WebForm1.aspx nm trong Solution Explorer Windows v mé tay phi, bên trái ta có 1 hp dng c (Toolbox)
và  gia là View Designer.

3. M hp dng c (Toolbox) và nhp đôi vào công c Label, mt cách thông dng khác là ta có th kéo lê (drag) công c Label vào
trong View Designer.

4. B trí các đc tính ca công c Label đó nh sau:

Lu ý  đây là ta s dùng ng dng
VPSKEY Version 4.0 (or up) vi bng mã Unicode đ gõ ting Vit cho đc tính Text ca
Label tên lblWelcome nh hình trên. Ta có th dùng bt c ng dng gõ ting Vit nào cho phép encoding vi Unicode, nu dùng
VPSKeys Version 4.0 thì bn cn phi b trí nh sau:

5. Chn File, Save WebForm1.aspx As đ lu tr vào đa cng, nh chn Save with Encoding (hay ta có th dùng Advanced Save
Options) vi Encoding là
Unicode (UTF-8 with signature) - Codepage 65001 đ lu tr (save) ting Vit chính xác.


Trong bài hc này, ta tht s làm quen vi ASP.NET qua vic tìm hiu các phng pháp làm vic ca mng trong phm vi
ASP.NET. Thêm na, ta cng bit s lc v s thay đi c bn trong vic phát trin mng do nh có .NET Framework và bt tay
vào vic cài đt ASP.NET đ thc hin đc trang ASP.NET đu tiên.
Tht vy, qua 2 bài tp, ta đã x dng thành công 2 phng pháp vi 2 ng dng khác nhau đ to ra trang Web 'Chào Mng Bn
Ðn Vi Khóa T Hc ASP.NET ca Vovisoft', và nh ta đã thy, mi cách đu có cái hay riêng, thích dùng cách này hay cách
kia tùy thuc vào thói quen, s thích cng nh môi trng làm vic hay hot đng xung quanh. Còn 1 phng pháp na mà tôi rt
thích vì tính cách cng đng ca nó là MS ASP.NET Web Matrix. Phng pháp này s trình bày  bài s 3.
Trong Bài s 2 '
Xây Dng Trang ASP.NET', ta s tham kho chi tit vic xây dng mt trang ASP.NET nh th nào cng nh đào
sâu v vic phân tích cú pháp và các mnh lnh (commands hoc keywords) dùng trong các trang ASP.NET

Download Source Code
Ngun mã bài tp 1
Ngun mã bài tp 2

Bài làm  nhà
Câu Hi 1: CLR là gì?
Câu Hi 2: Virtual Directory là gì? Và làm sao đ b trí thành công Virtual Directory?
Bài Làm 1: Phát trin 1 trang ASP.NET dùng MS Visual Studio.NET hay Notepad đ hin th (display) 1 bài th hoc các câu Ca
Dao (bng ting Vit) mà bn su tm.
Bài 02
Xây Dng Trang ASP.NET
V đây nghe em
V đây, mc áo the, đi guc mc - K chuyn tình - bng li ca dao
K chuyn tình - bng ni ngô khoai - K chuyn tình - bng ht lúa mi
Và v đây, nghe gi ting xa - Ð nh trong ting v b.
(V Ðây Nghe Em - Th A Khuê - 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

nhng khác mt chút là có kèm theo runat="server" ch th cho ASP.NET bit thi hành trang này  Server Side, phn này
cng là đt ta ... 'dng võ', kim soát mi công dng cn thit và mã
đc biên dch (compiled) thành MSIL. Tht ra, ta có
th đt đ phn này  bt c ni nào trong trang web nhng nu sp xp  phn đu tiên ca trang cng là mt thói 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 "Welcome to Khóa T Hc ASP.NET - Vovisoft" vào hp ch có nhãn hiu (label)
lblWelcome.
Phn 3: <html>... <html> : đây là ni ta bt đu phn mã ca HTML. Phn này chính là hình thc trình bày ni dung ca
trang đc ch bin bi mã ASP.NET trc khi gi v và hin th trong browser ca Client. Ngoài ra, ASP.NET cng cho
phép ta kèm theo nhng ch th (instructions) trong
Code Render Block bt đu vi <% và chm dt vi %> t nh:
<% Response.Wite ("My first page <P>") %>
đ đa ra nhng gì ta mun làm vào bên trong lòng ngun mã ca phn HTML. Thí d  đây, ta ch đn gin hin th hàng
ch "My First Page" khi gi trang này v browser ca Client.
Phân đnh Mã và Ni Dung
Tin đây, ta s tìm hiu thêm v s phân đnh gia
Mã (Code) và Ni Dung (Content) gi là Code and Content Separation.
Nh ta đã bit, phn đông các K S Tin Hc khi hình thành mt web site đã xây dng mi chuyn t A ti Z cho mng ca mình
k c vic hoch đnh các đ án thit k cng nh trang trí, sp xp và trình bày các thông tin trong các trang web. Tóm li, các K
S Tin Hc đó không nhng phi chun b và vit các ngun mã cn thit cho các trang ca mình mà có th còn 'thu' hoc 'bao'
luôn công vic ca mt Thit K Gia (Designer), mt Trang Trí Viên (Decorator), mt Kin Trúc S (Architect), mt Ha S
(Painter), mt Giáo S (Instructor or Tutor), mt Web Master, mt Thông Tn Viên ... và rt nhiu vai trò khác không th nào k
xit tùy theo mc đích và tôn ch ca web site.
Ðiu này thì ... cng tt thôi, nhng ta thit ngh, không phi K S Tin Hc nào cng đc trang b ... 'thp bát ban võ ngh' nh
vy và thng tình, mt K S Tin Hc chuyên nghip li d (unskillful) v trang trí thit k, lý do đn gin là h đã tp trung kh

ASP.NET ca ta.
Khi có ngi yêu cu tham kho trang web ca ta, trc ht ASP.NET s
biên dch (compile) mã  phn Code Decalration
Block trong trang ASP.NET. Nu đ ý mt chút, ta nhn thy có mt s trì hoãn mc du nh nhàng hay không đáng k trc
khi browser hin th trang web đó, nhng nu cng chính trang đó đc ving thm ln th nhì hoc nhng ln sau đó thì s
trì hoãn ta nhn thy trc kia s bin mt, lý do là vì trang đó đã đc biên dch ri, ASP.NET ch có vic dùng mà thôi ch
không cn phi biên dch ln na, do đó hiu sut gia tng ht sc ngon mc. Nh là mã đc ASP.NET biên dch thành
MSIL, CLR qun lý và sau đó biên dch thành
ngôn ng gc ca máy (native machine language) trc khi trang đc gi
v browser ca Client. Ngun mã (code) mà ta lp trình trong trang web đc lu tr mt ni riêng bit, CLR s thm chng
luôn luôn, phòng trng hp ta thay đi ngun mã thì lp tc CLR s biên dch li 1 cách t đng trang web đó mà không cn
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 web ra thành nhng yu t HTML tng đng (HTML
elements) t nh bin đi <asp:Label> control ra thành HTML <span> </span> đ hin th hàng ch "Welcome to Khóa T
Hc ASP.NET - Vovisoft" nh thí d đang phân tích  trên (ta s thy HTML element này khi quan sát ngun mã bng cách
chn View, Source lúc trang ASP.NET ca Bài 01 - Bài Tp 2) hin th trong Client Browser. ASP.NET cng đnh giá nhng
ngun mã ca Code Render Block (nu có) và cng sn xut ra nhng yu t HTML tng đng.
Cui cùng, ASP.NET s gi kt qu chung cuc di dng HTML ti Client Browser, Client Browser ch nhn đc trang
web di dng phù hp vi tiêu chun ca HTML, trong đó ASP.NET du bin đi các ngun mã hoc các control thuc phm
vi Server (Server Side Code and Controls).
Nh vy, ta có th dùng bt c mt Web Browser nào (không nht thit là MSIE) cng có th hin th các trang ASP.NET,
tht vy đi vi Client Browser thì trang ASP.NET cng ch là mt trang HTML đn gin nhng có phn đuôi ni thêm
(.aspx) hi l mà thôi.
Lu ý, đây là mt khái nim ht sc quan trng, ta cn hiu cho thu đáo, b qua có th s ... 'n nn hi hn sut đi'.
Browser chng qua ch là mt ng dng ht sc th đng (dump application) vi nhim v din dch các yu t HTML mà
thôi. ASP.NET nm vng điu đó, cho nên mi ln ASP.NET mun gi ti Brower nhng gì, nó đu dch ra hay bin đi ra
dng HTML. Không nhng vy, ASP.NET còn khéo léo vn dng đ HTML ngây th (nhng d thng) đó còn thi hành

<asp:button id="btSubmit" Text="Submit"
runat=server/><p>
<asp:label id="lblMessage" font-size="20pt"
runat=server/>
</form>

</body>
</html>
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 <Enter>. Ta có th gõ tên ca mình vào hp ch k bên
hàng danh hiu (label) "Please enter your name:" và nhp vào nút Submit, ta s có 1 trang ASP.NET chào mng khách vãng lai nh
sau: Phn Chú Thích:
<%@ Page Language="VB" %>
Ðc dùng đ ch th cho ASP.NET ta dùng VB.NET làm ngôn ng lp trình mc đnh.
<script runat="server">
Sub tbMessage_Change (Sender AS Object, E As EventArgs)
lblmessage.Text = "Chào bn " + tbMessage.Text
End Sub
</script>
Khi s c tbMessage_Change khi đng, ta dùng lblmessage.Text đ hin th hàng ch "Chào bn " + tbMessage.Text 
trang ASP.NET.
<form runat="server">
Please enter your name:
<asp:textbox id="tbMessage"
OnTextChanged="tbMessage_Change"
runat=server/>
<asp:button id="btSubmit" Text="Submit"


Sub btMultiply_Click(Sender As Object, E As EventArgs)
lblMessage.Text = "Multiplication Result: " & Cint(tbNumber1.Text) * Cint(tbNumber2.Text)
End Sub

Sub btDivide_Click(Sender As Object, E As EventArgs)
lblMessage.Text = "Division Result: " & Cint(tbNumber1.Text) / Cint(tbNumber2.Text)
End Sub
</script>

</HEAD>

<BODY>

<font size="5">Simple Mathematics</font><hr><p>
<form runat="server">

Number 1: <asp:textbox id="tbNumber1" runat=server/><br>
Number 2: <asp:textbox id="tbNumber2" runat=server/><p>
<asp:button id="btAdd" Text=" + " OnClick="btAdd_Click" runat=server/>
<asp:button id="btSubtract" Text=" - " OnClick="btSubtract_Click" runat=server/>

Trích đoạn uý ch (underscore) này không dùng đ ni 2 hàng ch ca 1 string vi nhau, t nh cách v it sau đây không đúng cú pháp l p trình: Dùng ASP.NET Objects vi VB.NET (Part I) Ðáo hn (Expires) Cookies
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status