1. Trang chủ
  2. » Công Nghệ Thông Tin

Tu hoc microsoft ASP NET

80 325 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tu Học Microsoft ASP.NET
Trường học Vovisoft
Chuyên ngành Lập Trình Web
Thể loại Khóa Học
Định dạng
Số trang 80
Dung lượng 1,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển và cung cấp bởi Microsoft, cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web. Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của .NET framework, là công nghệ nối tiếp của Microsoft’s Active Server Pages(ASP). ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi .NET language

Trang 1

T H c Microsoft ASP.NET

B n quy n c a:

www.vovisoft.com

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

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 quan đ n đ b n (nh t là b n nào thích thú trong vi c phát tri n m ng và m i làm quen v i ASP.NET) d dàng theo d i và tìm hi u v ASP.NET

Nhu Li u (Software)

Nhu li u (ph n m n hay software) t i thi u ph i có đ h c khoá ASP.NET thành công:

• V h đi u 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 c a 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 c p mi n phí trong các

h đi u hành k trên

• Ngoài ra, b n c n ph i có NET framework SDK (Software Development Kit) t i xu ng t m ng Microsoft Chúng tôi s trình bày vi c at3i xu ng đâu và công cu c b trí nh th nào bài h c s 1 N u nh b n đã có và cài đ t Microsoft Visual Studio.Net (VS.NET) theo s h ng d n các bài h c c a khóa H c Microsoft NET thì càng t t

n a Vì rãi rác trong các bài h c v ASP.NET, chúng tôi c ng trình bày m t s thí d dùng VS.NET cho ASP.NET

m c dù th t ra ch c n có Notepad thôi đã c ng d xài su t n m

• Cu i cùng, b n c n ph i có và cài đ t thành công m t c s d li u (Database) v ng m nh t ng ng v i OLE compliant database system nh SQL Server 2000 đ dùng l u tr nh ng thông tin c n thi t Tuy nhiên, ta c ng có

DB-th dùng MS Access 2000 đ t m DB-th i DB-thay DB-th SQL Server 2000 cho các DB-thí d trong khoá ph n nhi u trình bày các

n i và các ki u thu th p d li u hay thông tin xuyên qua SQL Server 2000

T i sao ta l i quan tâm và phát tri n m ng v i ASP.NET

Ta ph i công nh n m t đi u là NET Framework và các ng d ng c a nó đã và đang t o m t cu c cách m ng k thu t trong công ngh Tin H c (Information Technology), thay đ i t n g c r các ki u m u l p trình hay phát tri n và tri n khai m ng trên th gi i và do đó t o m t v n h i m i đáp ng m i yêu c u kh n thi t cho các ngành ngh k thu t và th ng m i hi n nay c ng nh v ch m t h ng đi v ng ch c và dài lâu cho t ng lai Tin H c ASP.NET chính là m t trong nh ng ng d ng quan tr ng nh t đ phát tri n và tri n khai m ng m t cách d dàng ch a t ng th y t x a đ n nay Th t v y, không ph i là

Trang 2

chúng tôi khoái n đâu, hãy l ng 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 v y hay không? hay là ch qu ng cáo theo ki u 'cao đ n h n tán' mà thôi? Chúng ta hãy 'ng i xu ng đây, hãy ng i xu ng đây' và ng i g n l i v i nhau đ nhìn cho rõ nh ng đ c tính không t m th ng c a ASP.NET nh sau:

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:

Trang 3

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:

ASP.NET có kh n ng l u tr m t k t qu chung trong phân b memory c a trang đ g i gi i đáp cho cùng m t yêu c u t nhi u khách hàng khác nhau và nh đó không nh ng ti t ki m đ c s l p đi l p l i công tác thi hành c a m t trang web mà còn gia t ng hi u xu t m t cách ngo n m c do gi i h n t i đa vi c ch t v n các c s d li u (eliminating the need to query the database on every request) r t t n nhi u th i gian

.NET Outperforms J2EE:

Trong vi c đ i đ u v i nhau v hi u xu t (performance) và scalability v i cùng m t ng d ng phát tri n gi a Sun's Java Pet Store J2EE và ASP.NET thì ASP.NET không nh ng nhanh v t tr i h n J2EE đ n 28 l n (khoãng 2700%), ngu n mã l i ít

h n nhi u (khoãng 1/4 ngu n mã c a J2EE) mà còn dùng b x lý (processor) ch khoãng 1/6 l n so v i vi c s d ng

processor c a J2EE N u mu n tìm hi u thêm, b n có th truy tìm d dàng nh ng trang so sánh nh v y khi n i vào Internet

đ 'search' v hi u xu t c a c hai s n ph m.

Enhanced Reliability

Memory Leak, DeadLock và Crash protection:

ASP.NET c ng có kh n ng t đ ng dò tìm và ph c h i (detects and recovers) nh ng tr ng i nghiêm tr ng nh deadlocks hay b nh (memory) b r đ b o đ m ng d ng c a b n luôn luôn s n sàng khi dùng mà không làm c n tr vi c cung ng

d ch v c n thi t th ng l

Easy Deployment

Simple application deployment:

ASP.NET đ n gi n hóa vi c tri n khai ng d ng m ng, do đó bi n vi c tri n khai toàn b ng d ng tr nên d dàng và thu n

l i h n h n tr c kia vì bây gi ta ch c n sao (v i XCOPY) và l u tr Server ch không c n ph i ch y ch ng trình 'regsrv32' đ đ ng ký b t c thành ph n nào c , và thêm n a, khi c n l u tr nh ng y u t ph c n thi t cho vi c thi t l p hay

b trí các ng d ng, ta ch c n l u gi nó vào trong m t h s d i d ng XML là đ

Dynamic update of running application:

ASP.NET cho phép ta t đ ng c p nh t hóa (update) các thành ph n đã compiled (compiled components) mà không c n ph i

kh i đ ng l i (re-start) các Web Server.

Easy Migration Path:

Ta không c n ph i du nh p nh ng ng d ng đ c phát tri n và tri n khai b ng ASP c đi n hi n có c a b n vào ASP.NET vì ASP.NET có th ch y song song v i c u chi n binh ASP cùng m t Internet Information Server (IIS) trong n n Windows

2000 hay n n Windows XP Các ng d ng c v n ti p t c ch y h t s c tho i mái v i ASP.DLL trong khi ASP.NET engine s

x lý các ng d ng m i Ngoài ra, ASP.NET còn cho phép b n dùng l i nh ng thành ph n th ng m i hi n nay ki u COM c

đi n trong các ng d ng c a nó.

Trang 4

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'

Trang 5

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

s n ph m NET Framework và MS Visual studio.NET vào ngày 13 tháng Hai n m 2002, tuy nhiên r t nhi u phiên b n Beta2

đã đ c ph bi n kh p th gi i gi a n m 2001) nh ng m y ai bi t đ c ASP.NET là gì và dung nhan mùa h ra làm sao?

V y ta 'hãy ng i xu ng đây' đ b t đ u làm quen v i ASP.NET

ASP.NET - EM LÀ AI?

Tr c h t, h tên c a ASP.NET là Active Server Pages NET (.NET đây là NET framework) Nói đ n gi n, ng n và g n thì ASP.NET là m t công ngh có tính cách m ng dùng đ phát tri n các ng d ng v m ng hi n nay c ng nh trong t ng lai (ASP.NET is a revolutionary technology for developing web applications) B n l u ý ch ASP.NET là m t ph ng pháp t

ch c hay khung t ch c (framework) đ thi t l p các ng d ng h t s c hùng m nh cho m ng d a trên CLR (Common

Language Runtime) ch không ph i là m t ngôn ng l p trình Ngôn ng l p trình đ c dùng đ di n đ t ASP.NET trong khóa này là VB.NET (Visual Basic NET) và VB.NET ch là m t trong 25 ngôn ng NET hi n nay đ c dùng đ phát tri n các trang ASP.NET mà thôi

Tuy mang h tên g n gi ng nh ASP c đi n nh ng ASP.NET không ph i là ASP Ta s l c đây vài khác bi t gi a ASP.NET và ASP đ b n có khái ni m t ng quát và s trình bày thêm chi ti t khi đào sâu vào t ng đi m đ c tr ng (features)

c a ASP.NET t ng bài h c m t

KHÁC BI T GI A ASP.NET VÀ ASP

ASP.NET đ c phác th o (re-design) l i t s không, nó đ c thay đ i t n g c r và phát tri n (develop) phù h p v i yêu c u

hi n nay c ng nh v ch m t h ng đi v ng ch c cho t ng lai Tin H c Lý do chính là Microsoft đã quá chán nãn trong vi c thêm th t và k t h p các công d ng m i vào các ki u m u l p trình hay thi t k m ng theo ki u c đi n nên Microsoft ngh

r ng t t nh t là làm l i m t ki u m u hoàn toàn m i thay vì vá víu ch này ch n vào ASP Ðó là ch a k đ n nhi u phát minh m i ra đ i sau này d a trên các khái ni m m i m theo xu h ng phát tri n hi n nay c a công ngh Tin H c

(Information Technology) c n đ c đ a vào ki u m u phát tri n m i đó Nh v y, ta m i có th nói kh i kh i ASP.NET không ph i là ASP Th t v y , ASP.NET cung c p m t ph ng pháp hoàn toàn khác bi t v i ph ng pháp c a ASP

L u ý, m c dù ASP.NET và ASP khác bi t nhau nh ng chúng có th ho t đ ng vui v hài hoà v i nhau trong Web Server c a

b n (operate side-by-side) Do đó, khi b n cài ASP.NET engine, b n không c n l p trình l i các ng d ng hi n có d i d ng ASP c a b n tuy r ng, n u mu n, b n có th làm đi u đó r t d dàng.

S THAY Ð I C B N

ASP đã và đang thi hành s m ng đ c giao cho nó đ phát tri n m ng m t cách t t đ p nh v y thì t i sao ta c n ph i đ i m i hoàn toàn? Lý do đ n gi n là ASP không còn đáp ng đ nhu c u hi n nay trong lãnh v c phát tri n m ng c a công ngh Tin H c ASP

Trang 6

đ c thi t k riêng bi t và n m t ng phiá trên h đi u hành Windows và Internet Information Server, do đó các công d 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

• 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

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

D n dà, m ng phát tri n thêm nhi u công d ng khác nhau g n thêm vào nào là hình nh, nào là tables, forms và cu i cùng có

th trao đ i thông tin hay tâm tình v i khách vãng lai qua các ng d ng nh guestbook, th m dò ý ki n (user, customer ho c

là client poll) hay các di n đàn v i m i ti t m c trên tr i d i đ t Sau đó, các chuyên gia phát tri n m ng l i thêm th t và trang đi m cho m ng c a mình càng lúc càng đ c s c h n, cùng muôn m u muôn v

T t c nh ng c g ng đó đã đem tác đ ng h t ng đ n gi a Web Master (hay nhóm qu n lý m ng) và khách vãng lai nh ta

đ c ch ng ki n hi n nay, tuy v y v n còn thi u h n 1 ph n quan tr ng nh t là ph n n i dung c đ ng tu bi n (dynamic content) Do đó vai trò c a ph ng pháp d ch v (server processing) đ c phát tri n đ có th trình bày n i dung đ c l u tr trong các c s d li u (database) tu theo yêu c u riêng bi t cho t ng cá nhân

KI U M U RESQUEST/RESPONSE

Ki u m u này chính là toàn b ph ng pháp làm vi c theo ki u Client /Server hi n dùng v i ASP

Client/Server - M t tr ng h p đ n gi n nh t là s trao đ i thông tin gi a 2 máy vi tính đ hoàn thành 1 công vi c đ c đ nh

tr c, trong đó máy Server cung c p d ch v theo yêu c u c a 1 máy khách hành (Client PC)

Th ng th ng, Server là máy vi tính l u tr thông tin v m ng trong đó có hình nh, video, nh ng trang HTML hay ASP Client là máy vi tính đ c dùng đ l t m ng M t cách t ng quát ph ng pháp này g m có 4 b c c b n sau:

1 Client (thông qua Internet Browser) xác đ nh v trí c a Web Server qua 1 n i URL (Universal Resource Locator) t nh

www.vovisoft.com

2 Client s yêu c u đ c tham kh o 1 trang trong m ng đó và th ng là trang ch (home page) t nh index.htm hay default.htm

Trang 7

3 Server đáp ng b ng cách hoàn tr h s mà Client đã yêu c u

4 Client nh n đ c h s g i v và hi n th (display) trong browser c a mình

L u ý, m t khi Client đã nh n đ c h s r i, quá trình trao đ i qua l i đó k t thúc ngay t c kh c Sau đó, Server và Client tr thành 'ng òi xa l ', coi nh là ch a t ng bao gi g p nhau (stateless model), ta g i là ki u 'làm ng '

Ð c t i đây ch c b n s h i l i ngay r ng: ' a, nh ng mà làm sao m t Server nào đó, có th t n đâu đâu bên kia đ a c u, l i

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 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)

(Client-Ð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

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

ai khác Trong khi biên d ch nh v y, các ng d ng c ng s n xu t ra nh ng thông tin c n thi t đ t qu ng cáo chính mình,

ta g i nh ng thông tin này là metadata Ð n khi ta ch y m t ng d ng, CLR s ti p qu n (take-over) và l i biên d ch

(compile) ngu n mã m t l n n a ra thành ngôn ng g c (native language) c a máy vi tính tr c khi thi hành nh ng công tác

đã đ c b trí trong ngu n mã đó Ta có th c m th y nh ng vi c b n r n sau h u tr ng đó khi ph i ch đ i 1 khoãng th i gian c n thi t đ CLR ch m d t nhi m v c a nó khi l n đ u ph i biên d ch (compile) và hi n th 1 trang Web, nh ng r i m i chuy n s xuôi chèo mát mái, cu i cùng là ta có m t trình biên d ch (compiled code) đ x d ng r t hi u qu

.NET FRAMEWORK CLASSES

Trang 8

Ði u quan tr ng nh t mà ta c n ph i nh là m i th trong NET đ u là object, t nh các trang ASP.NET, các h p thông đi p (message box) hay là nút b m (button), t t c đ u là object c Các object đó đ c t ch c l i thành t ng nhóm riêng bi t nh trong m t th vi n đ ta d dàng x d ng Ta g i các nhóm nh v y là namespaces, và ta s dùng nh ng namespace này đ

g i hay nh p (import) các class c n thi t cho ng d ng c a mình

đây, ta ch s l c m t chút v NET framework mà thôi, b n có th tham kh o đ y đ chi ti t v NET framework các bài vi t c ath y Lê Ð c H ng trong khóa H c NET Framework và VB.NET

CÀI Ð T ASP.NET

Ð ch y trang ASP.NET, tr c h t ta c n ph i cài đ t thành công:

Internet Information Server (IIS) và b trí Virtual Directory dùng trong khóa T H c ASP.NET c a Vovisoft

MS Visual Studio.NET - trong tr ng h p này thì MS Visual Studio.NET đã cài s n NET Framework SDK cho ta dùng

v i ASP.NET ho c là Microsoft ASP.NET Web Matrix (chi ti t đ c trình bày bài Gi i Thi u V Web Matrix)

.NET Framework Software Development Kit (SDK) - n u ta không có MS Visual Studio.NET, ta có th t i NET

Framework Software Development Kit (SDK) xu ng t do t m ng www.microsoft.com/NET , v i SDK, ta ch có th dùng Notepad ho c m t Text Editor nào ta thích đ phát tri n trang ASP.NET mà thôi

Nh là ASP.NET là k thu t phát tri n m ng phiá Server, do đó ta ph i c n có Internet Information Server (hay th ng đ c g i

đ n gi n h n là Web Server) đ so n (phát tri n hay l p trình) các trang v m ng cho khách vãng lai ghé th m c ng nh tham kh o các thông tin liên h Nh ng khác v i các trang ASP c đi n, Web Server s không hi u các trang ASP.NET n u nh ta quên hay b sót không cài NET Framework SDK ho c không cài MS Visual Studio.NET, chính nh .NET Framework SDK mà ta có đ y đ các công d ng và các object hay classes c n thi t cho các trang ASP.NET c a ta

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)

Trang 9

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

T H c ASP.NET này, ta ph i làm m t s vi c nh sau:

• T o ra 1 sub folder Vovisoft ASPNET cho các bài t p (Exercises)

• Vào (access) bên trong Web Server đ ki m tra hay qu n lý các tài nguyên trong m ng

• B trí virtual directory VovisoftASPNET

Chi ti t các b c theo th t nh sau:

Trang 10

1 T o ra m t sub directory có tên là Vovisoft ASPNET c u trúc drive D nh sau: D:\Net\Vovisoft ASPNET, đ ý là có m t ch

tr ng gi a 2 ch Vovisoft và ASPNET Tuy v y, n u b n nhuy n v IIS, b n có th đ t tên tùy thích và không nh t thi t ph i theo y chang ki u m u này, nh ng b n ph i hi u vi c b n làm đ b trí m t virtual directory thích h p dùng th c hành các bài t p trong khóa sao cho thành công

2 Có nhi u ph ng pháp vào (access) bên trong Web Server tr c khi b trí virtual directory, ta có th dùng MMC (Microsoft Management Console)đ c ng thêm IIS snap-in vào console ho c ta có th ch y IIS b ng cách ch n: Start, Programs,

Administartive Tools, Internet Information Service

Ph ng pháp dùng MMC là ph ng pháp đ c các MCP (Microsoft Certified Professional) hay MCSE (Microsoft Certified System Engineer) a thích h n vì tính cách linh đ ng m m d o thích h p cho vi c qu n lý các ngu n tài nguyên khác nhau trong

m ng

D i đây là hình đ c tr ng cho vi c dùng MMC:

Trang 11

Tuy nhiên, ta s không đào sâu vào chi ti t vi c x d ng MMC đ b trí virtual directory cho khóa h c đây mà ta s dùng ki u vào IIS tr c ti p qua vi c ch n: Start, Programs, Administrative Tools, Internet Information Service nh đã trình bày trên IIS s

hi n th nh sau:

Trang 12

3 B trí m t virtual directory VovisoftASPNET:

• Nh p ph i (right click) vào Default Web Site, ch n New, Virtual Directory:

• 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:

Trang 13

• 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í

Trang 14

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 khai m t ng t p tin m t c ng nh thu th p các thông tin c n thi t cho vi c b trí NET Framework máy c a ta, do đó t t h n h t

Trang 15

là ta tà tà t pha cho mình m t ly cà phê r i v a nhâm nhi v a th ng th c bài h c s 1 c a th y Lê Ð c H ng nh đã nêu trong ph n 'Cài MS Vusial Studio.NET' đ tìm hi u thêm v NET Framework

T O TRANG ASP.NET Ð U TIÊN

M c d u 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đ phân bi t v i .asp trong ASP c đi n Ta s t o trang 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 đ u tiên

• Dùng Notepad đ t o trang ASP.NET đ u tiên

Bài t p 1: Dùng MS Visual Studio.NET đ t o trang ASP.NET đ u tiên

M c đích:

Hi n th hàng ch "Welcome to Khóa T H c ASP.NET" trong trang ASP.NET đ u tiên đ chào m ng các b n đ n v i khóa h c này c a Vovisoft

Các b c th t nh sau:

1 Ch y MS Visual Studio.NET và ch n d án m i (New Project) nh sau:

Project Types: Visual Basic Projects

Name: vs-welcome

Location: http://cantho/DevASPNET/Bai01/

Ta nên nh ki m tra hàng ch phía d i h p Location đ coi l i xem d án đ c t o ra đúng ch mà ta mu n ch a hay là không? Chính hàng này c ng là URL (Uniform Resource Locator) ta c n ph i đi n vào h p đ a ch (Address) trong Internet Explorer đ

hi n th trang ASP.NET v i ph n n i thêm (extension) là .aspx

MS VS.NET s t o các sub-folders nh sau: DevASPNET\Bai01\vs-welcome bên d i Default Web Sit, trong tr ng h p này - Default Web Site chính là C:\Inetpub\wwwroot N u dùng IIS đ ki m tra đ c tính c a DevASPNET, ta th y Local Path là DevASPNET

Trang 16

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 đó:

Trang 17

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:

Trang 18

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

6 Cu i cùng ta s dùng IE Client Browser đ hi n th trang WebForm1.aspx (n u ta không đ i tên, trang m c đ nh là trang

WebForm1.aspx khi dùng MS VS.NET đ t o 1 ASP.NET Web Application)

Trong h p đ a ch (Address), l u ý là:

http://cantho/DevASPNET/Bai01/vs-welcomeđ c MS VS.NET t o ra trong Server cantho (hay co th dùng localhost)

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 đ 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 y chang nh trang trên

Trang 19

1 Ch y ng d ng Notepad và gõ nh ng hàng ch l p trình y chang nh trong hình d i đây Trong bài h c 1, ta t m th i ch p nh n các m nh l nh và cú pháp trong trang ASP.NET đ u tiên này và s tham kh o chi ti t c ng nh phân tích và gi i thích v ph ng pháp xây d ng trang ASP.NET bài h c k ti p Nh khi gõ ti ng Vi t ta s dùng VPSKeys Version 4.0 nh trong bài t p 1

2 Ð t tên t p tin (file) này là np-welcome.aspx và l u tr (save as) v i encoding UTF-8 (UTF-8 là ch vi t t c c a Universal

Transform Format-8) d i subdirectory 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 <Enter> Ta s có 1 trang ASP.NET v i

hàng ch Welcome to Khóa T H c ASP.NET - Vovisoft nh sau:

Trang 20

Tóm t t

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

Trang 21

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 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 m c đích cung c p ki u phát tri n m i đ n gi n h n, c p ti n h n và c u trúc ch t

ch h n (more advantages and more structure code)

Hôm nay, ta l i 'v đây' trong bài tham kh o v ph ng pháp xây d ng trang ASP.NET (hay g i là Web Form) và m t s v n

đ liên h nh sau:

• 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':

<%@ Page Language="VB" %>

<script runat="server">

sub Page_Load(obj as object, e as eventargs)

lblWelcome.Text = "Welcome to Khóa T H c ASP.NET - Vovisoft"

Ta nh n th y mã c a trang này đ c chia ra làm 3 ph n riênng bi t:

Ph n 1: <%@ Page Language="VB" %> đ c g i là Page Directives: ph n này cung c p cho ASP.NET nh ng thông tin

đ c bi t đ ASP.NET bi t cách mà đ i x c ng nh nh ng thông tin dùng trong ti n trình biên d ch (during the compiling process), trong đó, ta mu n ASP.NET dùng VB.NET làm ngôn ng l p trình m c đ nh (default programming language) cho trang web, các đ tài sau, ta s tham kh o thêm v import directive.

Ph n 2: <script runat="server"> </script> : ph n này còn g i là Code Declaration Block gi ng nh mã Client Side

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

Trang 22

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)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

n ng, th i gian có đ c vào vi c l p trình và xem nh vi c trang trí thi t k cho web site c a mình Nh t là trong ph m vi các đ i công ty hay các b s chính ph , vi c xây d ng web site ch a nhi u thông tin là vi c c a m t nhóm ch không ph i c a m t cá nhân, m i ng i ph trách m t vi c, t nh ng i lo v mã (code), ng i lo v cách th c trình bày (with HTML, ) do đó vi c phân

đ nh rõ ràng gi a mã (code) và n i dung (content) tr nên r t c n thi t trong vi c phát tri n các trang web

ASP.NET gi i quy t v n đ b ng 2 h ng nh sau:

• Ki u m u Code Inline (Code Inline Model)

• Ki u m u Code Behind (Code Behind Model)

Code Inline Model:

Trong ki u m u này, mã v n đ c vi t và gi (code section) trong các trang ASP.NET nh ng không tr n l n v i HTML dành cho

ph n n i dung (content section) nh mã ta đ c th y trong bài t p 2 trong Bài 01 'Làm Quen V i ASP.NET' v i 2 ph n mã và n i dung n m riêng bi t nhau:

<% This is the code section (ASP.NET Code) %>

<script runat="server">

sub Page_Load(obj as object, e as eventargs)

lblWelcome.Text = "Welcome to Khóa T H c ASP.NET - Vovisoft"

Code Behind Model:

M t ki u m u khác đ c áp d ng đ phân đ nh mã và n i dung là ph n mã đ c s p x p trong m t t p tin khác riêng bi t m t ch

l u tr khác h n ch ch a các trang ASP.NET, d nhiên khi ta phân chia nh v y, ta ph i s p x p l i đ 2 t p tin riêng bi t đó có th làm vi c v i nhau và đ c biên d ch c ng gi ng nh ki u m u Code Inline Ta s đi sâu vào chi ti t ki u m u này nh ng bài k khi

bàn v cách 'Import' các mã t ngu n tài nguyên bên ngoài

Trang 23

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

nh ng ti n trình x lý đ c bi t (mà ta s tham kh o nh ng bài h c k ) cho ASP.NET phía Server mà hoàn toàn không hay, không bi t gì h t

XÂY D NG M T TRANG ASP.NET Ð N GI N

1 Ch y ng d ng Notepad và gõ nh ng hàng ch l p trình y chang nh mã d i đây và l u tr (Save As) trong folder

D:\Net\Vovisoft ASPNET\Bai02\baitap01\simple.aspx v i encoding UTF-8 (hay b t c đâu tùy theo cách x p đ t Virual Directory

mà ta b trí v i IIS) N u mu n gõ ti ng Vi t, ta dùng VPSKeys Version 4.0 nh đã trình bày Bài H c 01 Trong bài h c này, ta

t m th i ch p nh n các m nh l nh và cú pháp trong trang ASP.NET và s tham kh o chi ti t các Server Controls bài h c k

<%@ Page Language="VB" %>

<script runat="server">

Sub tbMessage_Change (Sender AS Object, E As EventArgs)

lblmessage.Text = "Chào b n " + tbMessage.Text

Trang 24

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:

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

Trang 25

M i Server Control đ u mang 1 ID quy c và duy nh t, thí d :

<asp:textbox có ID duy nh t là tbMessage trong đó quy c tb đ c ph bi n và ch p nh n riêng bi t cho công c textbox,

s c OnTextChanged có tên g i là 'tbMessage_Change' và Server Control này <asp:textbox đ c thi hành Server Side Các Server Control k g m có <asp:button (ID btSubmit) và <asp:label (ID lblMessage) dùng cho nút b m (ta c ng có th

dùng quy c btn hay bt cho nút b m) và nhãn hi u v i quy c lbl

1 Ch y ng d ng Notepad và gõ nh ng hàng ch l p trình y chang nh d i đây và l u tr (Save As) trong folder D:\Net\Vovisoft

ASPNET\Bai02\baitap02\math.aspx v i encoding UTF-8:

<HTML>

<HEAD>

<script language="VB" runat="server">

Sub btAdd_Click(Sender As Object, E As EventArgs)

lblMessage.Text = "Addition Result: " & Cint(tbNumber1.Text) + Cint(tbNumber2.Text)

End Sub

Sub btSubtract_Click(Sender As Object, E As EventArgs)

lblMessage.Text = "Substraction Result: " & Cint(tbNumber1.Text) - Cint(tbNumber2.Text)

End Sub

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)

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/>

Trang 26

<asp:button id="btMultiply" Text=" * " OnClick="btMultiply_Click" runat=server/>

<asp:button id="btDivide" Text=" / " OnClick="btDivide_Click" runat=server/><p>

<asp:label id="lblMessage" font-size="15pt" 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/baitap02/math.aspx r i nh n nút <Enter> Trong trang ki m tra này, ta gõ s 100, 200 vào

trong các h p ch Number 1, Number 2 r i nh n nút b m + ch ng h n đ hi n th hàng ch 'Addition Result: 300'

Ph n Chú Thích:

<script language="VB" runat="server">

Sub btAdd_Click(Sender As Object, E As EventArgs)

lblMessage.Text = "Addition Result: " & Cint(tbNumber1.Text) + Cint(tbNumber2.Text)

End Sub

</script>

Ph n script này dùng đ thi hành các phép toán c ng, tr , nhân và chia các s nguyên tùy theo s ch n l a c a user, trong đó nút có

d u (+) s kh i đ ng s c btAdd_Click và subroutine btAdd_Click đáp ng b ng cách c ng 2 s nguyên đã đ c đ a vào 2 h p

ch Number 1 và Number 2 v i nhau, sau đó l u tr k t qu lblMessage

L u ý đây, ta dùng nhóm t 'l u tr k t qu ' ch không 'hi n th k t qu ' ph n script này L u tr b ng cách n đ nh

lblMessage.Text b ng "Addition Result: " và k t qu phép c ng, còn ph n trình bày, ta phó m c cho mã HTML

<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/>

<asp:button id="btMultiply" Text=" * " OnClick="btMultiply_Click" runat=server/>

<asp:button id="btDivide" Text=" / " OnClick="btDivide_Click" runat=server/><p>

<asp:label id="lblMessage" font-size="15pt" runat=server/>

</form>

Trang 27

VÀI NH N XÉT KHI DÙNG ASP.NET VÀ HTML

Code Declaration Blocks và Code Render Blocks

Ði u làm nh t đ 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

1 trang ASP c đ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 khi dùng chung v i HTML code Ðó là Code Declaration BlocksCode Render Blocks Nh đó, ta có th nh n di n 'c nhân' trong 1 trang ASP.NET d dàng h n Trong 2 cách đó, cách th nh t Code Decalration Blocksđ c a chu ng h n vì có th biên d ch (compile)

đ c thành t ng t p tin riêng bi t, lo i b cách l p trình ki u th p c m (spaghetti code) và do đó tr thành ph ng pháp h u hi u

nh t đ phác th o (design) các ng d ng xây d ng các trang ASP.NET

Còn ngoài ra, t t c đ u là HTML Ngay c các Server Controls c ng đ c di n d ch nh là các HTML code đ n gi n khác Th t

v y, m c dù các Server Controls này là nh ng objects phiá Server (server side) nh ng giao di n (interface) c a chúng đ c HTML

di n t Client Browser nh HTML code Ngay c các event specifier c ng là HTML (v event specifier, ta s tham kh o chi ti t trong các bài h c sau này)

Ta c ng có th dùng ASP.NET object đ l p trình thu n tuý HTML, t nh :

<% Response.Write("Hello Vovisoft") %>

theo ki u Code Render Blocks đ hi n th hàng ch "Hello Vovisoft" Nh v y thì đâu có khác gì ki u ASP c đi n và vô hình chung, làm vi c b o trì trang ASP.NET tr nên ph c t p

Chú thích ngu n mã (Commenting code)

Có 3 cách chú thích ngu n mã trang ASP.NET:

<script language="VB" runat="server">

Sub btAdd_Click(Sender As Object, E As EventArgs)

Trang 28

<% This is the code section (ASP.NET Code)

Ph n chú thích này có th vi t thành nhi u hàng %>

<script runat="server">

sub Page_Load(obj as object, e as eventargs)

lblWelcome.Text = "Welcome to Khóa T H c ASP.NET - Vovisoft"

Nh ng v i ASP.NET và VB.NET thì không đ n gi n nh th Visual Basic.NET có so n s n 1 ch (character) đ c bi t dùng trong

tr ng h p này là ch _ (underscore) đ n i ngu n mã v i nhau:

ti p t c đào sâu thêm và riêng bi t v cách x d ng các server controls, user controls, ki u m u Event-Driven c ng nh tác đ ng h

t ng (interact) gi a ASP.NET và NET framework

Có 1 đi u ta c n nh c nh , n u b n không có đ các nhu li u c n thi t nh đã li t kê trang Rào Tr c c a khoá T H c ASP.NET

t nh Visual Studio.NET, MS SQL2000 Server, thì làm sao có th theo h c thành công khoá này, nh t là ta l i mu n x d ng các giao di n đ c biên so n s n giúp vi c l p trình thêm tho i mái và hào h ng Do không ph i ai c ng có đ ph ng ti n hay ngân sách đ trang b cho mình các nhu li u nêu trên nên vi c t h c càng thêm khó kh n tr m b 'Cái khó nó bó cái khôn' là v y

Nh ng các b n hãy qu ng gách lo đi, vì 'may mà có em, đ i còn d th ng' Em đây là Web Matrix Web Matrix có cái tên chính th c là Microsoft ASP.NET Web Matrix Project Ðó là 1 d án đ c xây d ng và do nhi u K S Tin H c thi n nguy n (chuyên tr v NET) đóng góp Cái đã nh t là Web Matrix đ c cung c p mi n phí (free), do đó ta xài 1 cách tho i mái và h n

n a, Web Matrix r t nh (ch khoãng 1.2 MBytes - so v i MS Visual Studio.NET thì gi ng nh con chu t Mickey so v i con

kh ng long) nh ng r t đ p l i uy n chuy n d dùng nh MS Visual Studio.NET v y

Do đó, bài s 3 s 'Gi i thi u v Web Matrix' , v s khác bi t đ i v i MS Visual Studio.NET, v vi c cài đ t và b trí c ng nh cách x d ng c a Web Matrix cho vi c l p trình các trang ASP.NET

Download Source Code

Ngu n mã bài t p 1

Ngu n mã bài t p 2

Trang 29

Bài làm nhà

Câu h i 1: Làm sao phân bi t đ c gi a Code Declaration Block và Code Render Block?

Câu h i 2: Nh th nào là Code Behind Model?

Bài làm 1: Phát tri n 1 trang ASP.NET dùng hi n th cu n l ch (Calendar)

(L u ý: ph n gi i đáp s đ c trình bày bài h c k )

Trang 30

• Khác bi t gi a Visual Studio.NET và Web Matrix

• Các đ c đi m c a Web Matrix

• Cài đ t Web Matrix

• Ði d o m t vòng v i Web Matrix

• T o trang ASP.NET v i Web Matrix

Tr c khi mang tên cúng c m nh hi n nay, Microsoft ASP.NET Web Matrix Project (g i t t là Web Matrix) kh i đ u v i tên Web Studio, chuy n sang tên Mongoose, Project Saturn, Tahiti Project và cu i cùng là Microsoft ASP.NET Web Matrix

Tên Web Matrix đ c ch n mang tính ch t sáng t o và thi t l p đ c m i liên h trong c ng đ ng các Chuyên Gia hay K S Tin

H c v ASP.NET D án đ c hình thành do s đóng góp c a nhi u K S Tin H c thi n nguy n đã b r t nhi u th i gi riêng t

hi m hoi (th ng là các bu i t i trong ngày và cu i tu n) đ mong t o s h p tác chung cho c ng đ ng ASP.NET ch không chính

th c kh i x ng hay t o nên t Microsoft B n có th tham kh o chi ti t v ti n trình hình thành Web Matrix c ng nh danh tánh các K S Tin H c đã đóng góp vào d án này trong n i Web Matrix and Project Team

Web Matrix đ c phác th o cho c ng đ ng ASP.NET nên ta dùng mi n phí, Web Matrix l i d xài và r t đ p T ng c ng c n nói qua, m t trong các m c tiêu c b n c a d án Web Matrix là t o đi u ki n đóng góp chung trong c ng đ ng phát tri n m ng nên

nh ng ng i kh i x ng d án luôn khuy n khích ta t i xu ng, cài đ t, x d ng và gi i thi u Web Matrix c ng nh đóng góp ý ki n trên di n đàn c a Web Matrix đ Web Matrix đ c hoàn ch nh h n

Các K S Tin H c dùng ngôn ng l p trình C# và NET framework đ c u t o ra Web Matrix Khoãng ch ng 800 Classes và h n 150,000 mã (lines of code) đ c dùng trong d án này v i bi t bao công s c và th i gi đã đ c đ u t vào không th nào k xi t

Do đó, m c dù Web Matrix r t nh ( d ng t i xu ng ch có 1.2MB) nh ng không nh ng Web Matrix là môi tr ng phát tri n các trang ASP.NET v m ng m t cách đ n gi n và h u hi u, mà còn đ c dùng đ t o các user controls, các classes (đ biên d ch thành assemblies), các d ch v v m ng (Web Services) và ngay c HTML Handlers n a Ngoài ra, Web Matrix còn y m tr c u t o các trang HTML thu n túy, các style sheets, các l c đ và tài li u XML (XML schemas and documents), các SQL scripts c ng nh

vi c đ nh hình các t p tin v NET (.NET configuration files such web.config and global.asax)

KHÁC BI T GI A VISUAL STUDIO.NET VÀ WEB MATRIX

Ta ph i công nh n MS Visual Studio.NET là m t công c phát tri n m ng tuy t v i MS Visual Studio.NET đ c thi t k đ làm đ

m i chuy n 'trên tr i d i đ t' và cho m i Chuyên Gia ch không riêng cho nh ng ai chuyên tr phát tri n m ng Th t v y, MS Visual Studio.NET đ c dùng nh là m t công c duy nh t đ t o ra các ng d ng v NET, đ thi t k các d ch v v m ng (Web Services), phác th o và b trí các trang ASP.NET cho m ng và ngay c các t p tin t o hình t nh các icons hay các bitmaps,

nh ng MS Visual Studio.NET quá l n, l i không 'r ' và không chuyên tr v ASP.NET nh các K S Tin H c trong nhóm ASP.NET mong mu n nên nhóm này m i hình thành công c Web Matrix v i m c tiêu rõ r t - r , đ p, b n và chính th c ra m t công chúng ngày 17 tháng 6 n m 2002 m c dù v n còn d i d ng th nghi m (Beta testing) v i tên Microsoft ASP.NET Web Martrix Project

Sau khi cài đ t, Web Matrix ch võn v n khoãng 2.5 MBytes B n có th t i Web Marix xu ng đây d ng t i, Web Matrix ch có 1.2 MB v a v n l u tr trong 1 d a c ng nh (floppy) D nhiên, ta c n ph i cài NET Framework tr c khi có th dùng Web Matrix Khi Web Matrix ra đ i, Notepad đành ph i lui vào bóng đêm, đ ng nhiên không ai còn mu n nhìn t i n a Th t là 'tr i sinh ra Du (Chu Du), t i sao còn sinh ra L ng (Gia Cát L ng)'

Trang 31

M c dù Web Matrix và MS Visual Studio.NET đ u là nh ng công c phát tri n m ng r t tuy t v i và hoàn ch nh nh ng có vài đi m khác bi t c n l u ý nh sau:

• Web Matrix r t nh và mi n phí

• Web Matrix g m đ các đi m đ c tr ng r t h u hi u nh Visual Studio.NET t nh 'drap and drop' các Web Controls vào trong trang Web, b trí các đ c tính (properties) và có c h i quan sát trang Web d i d ng HTML, ngu n mã hay k c hai d ng v a k , c ng nh có th c ng thêm và x d ng các công c t bên ngoài đ phát tri n các trang web d dàng h n

• Web Matric còn có th y m tr FTP mà ta không th đòi h i Visual Studio.NET

• Web Matrix có kèm theo Matrix Web Server (t ng t nh Personal Web Server c a ASP c đi n) đ dùng th nghi m các trang ASP.NET mà ta đang phát tri n, c ng gi ng nh ta kh i đ ng 1 ng d ng tr c ti p bên trong Visual Basic.NET

v y

Tuy nhiên, m c dù Web Matrix v t tr i Visual Studio.NET trong nhi u ph ng di n, Web Matrix c ng thi u sót vài ti n nghi mà ta thích, t nh không y m tr IntelliSense, không y m tr Debugging các trang ASP.NET

Th t s , Web Matrix thích h p cho nh ng ai ' đ p trai (hay đ p gái), h c gi i, con nhà nghèo' vì 100% 'free' r t đ t n Ta th ngh

l i xem, Web Matrix đã đem l i nhi u h ng thú và khung IDE khá h n nhi u so v i Visual Studio.NET vì Web Matrix chuyên tr các trang ASP.NET Còn Visual Studio.NET có th dùng đ t o ra các thành ph n (components), các công c đ c ch (custom controls) hay các ng d ng v NET (.NET applications) Tuy Web Matrix thi u y m tr IntelliSense nh ng không bu c ta ph i dùng code-behind development

Ta s ti p t c tìm hi u thêm v Web Matrix trong các ph n m c k ti p và ch c ch n Web Matrix s đ l i n t ng sâu đ m c ng

nh nh h ng l n lao đ n c ng đ ng phát tri n ASP.NET hi n t i và t ng lai đây ta c ng ngã nón chào khâm ph c và xin g i

m t l i cám n chân thành đ n nh ng ng i đã góp ph n t o nên m t s n ph m tuy t v i nh Web Matrix

CÁC Ð C ÐI M C A WEB MATRIX

ASP.NET Page Designer

Web Matrix là m t công c WYSIWYG (What You See Is What You Get) r t d xài, đ c t o ra nh m chuyên tr phát tri n các trang ASP.NET Ta có th kéo lê (drag and drop) các ASP.NET Server Controls t h p công c (T lbox) vào trong trang Web v i

đ y đ t t c các đ c tính (porperties) c n thi t có th s a đ i đ thích h p m c tiêu c a trang Web, nh p đôi 1 Server Control trong trang Web s t đ ng m ra ph n mã (Code View) đ ta so n ngu n mã cho các s c (events) liên k t t ng ng v i các Server Event Handler

Trang 32

SQL and MSDE Database Management

Web Matrix c ng k t h p y m tr t o ra, ch n l a hay thêm b t các h s l u tr trong các c s d li u Vi c t o ra new databases, add, edit hay delete các tables c ng nh các stored procedures và n i dung c a store procedure đ c hình thành tr c ti p trong Web Matrix Ði u đó có ngh a, ta không c n ph i ch y Enterprise Manager (trong tr ng h p dùng MS SQL 2000 Server) hay MS Access bên ngoài Web Matrix đ t o các databases hay các tables,

Easy Data Bound UI Generation

Web Matrix t o đi u ki n d dàng cho ta b trí các data-bound pages mà không c n ph i vi t 1 dòng mã nào Ta c ng có th đ n

gi n 'drop' SQL tables vào trang Web đ t o ra các data-bound grids ho c ta có th kh i đ u v i các khuôn m u đã so n tr c cho các báo cáo (reports) hay các trang Master/Detail Ngoài ra, Code Builders còn giúp ta t o ra các ngu n mã dùng đ select, insert, update hay delete các SQL data

XML Web Service Support

Web Matrix y m tr trình bày các d ch v v SOAP-based XML Web Services, c ng nh g i (call) và tiêu th (consume) các d ch

v XML Web Services đ c cung ng trên các Server khác

Build Mobile Applications

Web Matrix giúp so n ngu n mã 1 cách t đ ng cho các lo i mobile devices khác nhau t nh cell phones, pagers, t 1 ngu n mã chính

CÀI Ð T WEB MATRIX

Tr c khi cài đ t Web Matrix, ta c n ki m tra xem các nhu li u sau đây đã đ c cài đ t thành công ch a:

• Windows 2000 Service Pack 2 tr lên n u ta dùng Windows 2000 Professional

Trang 33

• NET Framework

• IE Version 5.5 tr lên

• Windows Installer Version 2.0 tr lên

• MS Office 2000 n u ta mu n dùng MS Access v i MSDE (MS Data Engine) làm c s d li u

• MS SQL 2000 Server n u ta mu n dùng SQL Server làm c s d li u

B n có th t i Web Matrix xu ng đây

Sau khi t i xu ng, ta nh p đôi vào (double-click) webmatrix.msi ( đ c chu n b cài v i MS Installer), Web Matrix s đ c m ra

và cài đ t nh sau:

1 MS Installer s dùng InstallShield Wizard đ kh i đ ng vi c cài Web Matrix:

2 Nh p Next và ch n Install N u ta đã cài Web Matrix, ch n Modify đ cài l i ho c ch n Repair đ s a ch a Web Matrix Sau đó theo h ng d n đ ch n ch ch a ng d ng và hoàn t t vi c cài đ t

Trang 34

ÐI D O 1 VÒNG V I WEB MATRIX

1 Ta kh i đ ng Web Matrix b ng cách nh p đôi ASP.NET Web Matrix icon trên Desktop:

2 Web Matrix s m ra IDE v i Add New File windows nh sau:

Trang 35

3 Ta có th t o 1 trang ASP.NET v i Filename calendar.aspx Location D:\NetVovisoft ASPNET\Bai03\Calendar đ có th đi

d o 1 vòng v i Web Matrix

4 Tr c h t, ta nh n th y Menu Bar n m phía d i nhãn hi u ng d ng (Title Bar) Web Matrix r t quen thu c vì theo tiêu chu n chung c a các s n ph m MS Windows Menu Bar này g m nhi u b th c đ n, d i có các thanh th c đ n (Menu Items) thích h p cho t ng công d ng khác nhau và các thanh này c ng xu t hi n hay d u bi n đi tùy theo ch c n ng c a các trang Web hay d ng (Mode) đ c dùng trong môi tr ng IDE

5 D i đó, ta th y Toolbar tiêu chu n c a Web Matrix Standard Toolbar này g m 1 b ng ch a m i công c dùng cho vi c phát tri n các ng d ng ASP.NET

6 H p công c (Toolbox) n m phiá trái c a Windows chính, cho phép ta ch n và kéo lê (drag) các controls vào trong trang Web, Form hay ch a các công c do ta đ c ch ho c do nh p t bên ngoài Toolbox g m có 4 ng n: HTML Elements (cho các HTML tags), Web Controls, Custom Controls và My Snippet

Trang 36

7 Windows chính c a Web Matrix g i là Document Window, n i đây hi n th trang Web ta phác ho Window này t đ ng t o ra khi ta m hay t o 1 ng d ng c a Web Matrix

Phía bên d i Document Window g m 4 ng n (tabs) cho 4 d ng (mode) riêng bi t c a cùng 1 trang Web: Design, HTML, Code and ALL (k t h p gi a d ng HTML và Code)

Trang 37

8 Workspace Window n m phía trên bên ph i g m có 3 ng n: Workspace, Data và Open Items

• Workspace Window là n i ta t ch c hay quan sát File System (H Th ng T p Tin), các Directories, các t p tin d a c ng

c c b (local hard drives) hay m ng (network drives),

• Data Window dùng đ n i các c s d li u (Database), m các tables hay l u tr các stored procedures N u ta không cài

MS SQL Server 2000, Web Matrix cung c p n i đ t i và cài MSDE (MS Data Engine) dùng v i MS Access thay vì SQL

2000

9 Properties Window n m phía d i bên ph i g m có 3 ng n: Properties, Classes và Community Properties Window dùng đ đ nh

rõ tính ch t và cách bi u hi n trang Web, document và các controls c a Web Matrix N i đây c ng là n i ta quan sát và truy tìm các NET Assemblies hay 'n i vòng tay l n' t i c ng đ ng ASP.NET đ tìm ki m các tr giúp c n thi t

Trang 38

T O TRANG ASP.NET V I WEB MATRIX

Vi c tìm hi u Web Matrix là vi c làm lâu dài, ta s tham kh o thêm khi h c đ n các ph n m c khác c a ASP.NET t nh v ASP.NET Objects, Web Form, Database, XML, Web Services,

T i đây, ta th t o vài trang ASP.NET v i Web Matrix Mong r ng, trong khi đi d o v i Web Matrix, ta đã thu l m m t vài đi u

h u ích cho các bài t p sau đây:

Trang 39

1 Ch y ng d ng Web Matrix Trong Add New File window, ch n General Templates pane và ch n m u ASP.NET Page Gõ vào

h p ch Location hay dùng nút Browse đ ch n D:\Net\Vovisoft ASPNET\Bai03\Calendar và tên c a trang Web là calendar.aspx

và nh p nút OK

Templates (General) ASP.NET Page

Filename calendar.aspx

2 Trang Web calendar.apsx s m ra d i d ng Design và s n sàng cho ta x d ng T h p công c (Toolbox), ta kéo lê (drap) m t công c Nhãn Hi u (Label) vào Document Window và nh n nút Enter đ m đ u 1 đo n v n (paragraph) m i Sau đó, ta kéo lê công

c Calendar vào và đ t d i nhãn hi u trên

Ta đ nh tính ch t c a công c nhãn hi u đó nh sau:

Fonts Medium

ForeColor Blue

3 Ch n công c Calendar trong Document window Nh p Auto Format (n m bên d i Properties Window) và ch n ki u m u

Colorful2 nh sau:

4 Nh p nút Run đ ch y ng d ng Nút Run này n m trên Toolbar, gi a 1 h p ch và nút Toggle Toolbox:

Trang 40

5 Ta có 2 s l a ch n đ ch y trang Web:

Cách 1: Dùng Web Matrix Server ch y trang Web trong môi tr ng c a Web Matrix v i port m c đ nh là 8080

Cách 2: Dùng IIS (Internet Information Server) đ t o Application (ta có th dùng virtual directory VovisoftASPNET

mà ta b trí tr c đây) đ ch y trang Web trong MS Internet Explorer (IE)

Khi dùng cách 1 đ ch y đi ch y l i trang Web đ đi u ch nh hay s a l i, đ ý ta ph i ng ng (stop) Web Matrix Server đ

ch y l i, n u không ta s t o ra quá nhi u instances c a Web Matrix Server có th làm r memory (memory leaking)

Ðây là k t qu hi n th trang Web cách th nh t v i localhost và port 8080 đ c vi t d i d ng localhost:8080

Còn cách th nhì đ c dùng hay t o virtual directory trong IIS nh sau:

Ngày đăng: 07/08/2013, 10:15

HÌNH ẢNH LIÊN QUAN

Di đây là hình đc tr ng cho vic dùng MMC: - Tu hoc microsoft ASP NET
i đây là hình đc tr ng cho vic dùng MMC: (Trang 10)
3. Hin th trang ASP.NET đu tiên này vi IE Client Browser và gõ hàng ch di đây vào hp đa ch (Ađress): - Tu hoc microsoft ASP NET
3. Hin th trang ASP.NET đu tiên này vi IE Client Browser và gõ hàng ch di đây vào hp đa ch (Ađress): (Trang 19)
1. C hy ng d ng Notepad và gõ nh ng hàng ch lp trìn hy chang nh trong hình di đ âỵ Trong bài hc 1, ta tm thi ch p n hn các m nh l nh và cú pháp trong trang ASP.NET  đu tiên này và s  tham kh o chi ti t c ng nh  phân tích và gi i thích v  phng  pháp xây d  - Tu hoc microsoft ASP NET
1. C hy ng d ng Notepad và gõ nh ng hàng ch lp trìn hy chang nh trong hình di đ âỵ Trong bài hc 1, ta tm thi ch p n hn các m nh l nh và cú pháp trong trang ASP.NET đu tiên này và s tham kh o chi ti t c ng nh phân tích và gi i thích v phng pháp xây d (Trang 19)

TỪ KHÓA LIÊN QUAN

w