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

Giáo trình ASP. NET ppt

279 1,6K 4
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 đề Giáo trình ASP. NET ppt
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Khoa học Máy Tính và Công Nghệ Thông Tin
Thể loại Giáo trình
Năm xuất bản Chưa rõ
Thành phố Hà Nội
Định dạng
Số trang 279
Dung lượng 5,6 MB

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

Nội dung

Bạn có thể triển khai ứng dụng phát triển bằng ASP.NET chung với ứng dụng phát triển bằng ASP 3.0 trên cùng một máy chủ Windows 2000 mà không cần thay đổi cấu hình của ứng dụng ASP.. T

Trang 1

Giáo trình ASP NET

Trang 2

BÀI 1: GIỚI THIỆU ASP.NET

1 MUỜI LÝ DO TẠI SAO PHẢI HỌC ASP.NET

Với mục đích cung cấp những giải pháp từ cơ bản đến phức tạp để xây dựng ứng dụng thương mại điện tử hoàn chỉnh, chúng ta chọn ứng dụng bán hàng qua mạng để làm quen trong suốt quá trình thiết kế các ví dụ và ứng dụng đính kèm theo sách

Trong tập hai, chúng tôi chọn ngôn ngữ Visual Basic.NET để lập trình trong các trang ví dụ

ASP.NET và ứng dụng đính kèm Hy vọng trong thời gian tới, chúng tôi tiếp tục ra mắt bạn đọc cuốn

sách với chủ đề tương tự nhưng được trình bày bằng ngôn ngữ C Sharp Sau đây là 10 lý do tại sao bạn thích làm quen với lập trình Web bằng công nghệ ASP.NET

Trang ASP.NET chạy nhanh do dùng cơ chế chỉ biên dịch ra tập tin DLL lần đâu tiên triệu gọi (khác với ASP 3.0 mỗi lần triệu gọi thì mỗi lần biên dịch trang ASP)

Triển khai và nâng cấp các ứng dụng đang dùng bằng XCOPY

• Hỗ trợ nhiều công cụ lập trình và cho phép sử dụng lại các tài nguyên đang sử dụng

Tự động dò tìm và khắt phục lỗi phát sinh, bạn có thể sử dụng cấu trúc try catch end try

Quản lý trạng thái giao dịch (Session State) ở trên phạm vi nhiều Server (Web farms)

• Sử dụng bộ nhớ truy cập nhanh

• Hỗ trợ lập trình trên các loại thiết bị điện thoại di động

Sử dụng ngôn ngữ biên dịch trang ASP.NET thay vì thông dịch như đã sử dụng trong ASP

3.0

Xây dựng và triển khai các ứng dụng dịch vụ Web (Web Service) dễ dàng, bạn có thể thay thế

Web Service cho các ứng dụng DLL, COM, DCOM trước đây

Mô hình Page rất đơn giản trong trang ASP.NET

Với 10 lý do trên, bạn sẽ tìm thấy những đặc điểm nổi bật dưới nhiều góc độ khác nhau trong

phần giới thiệu những đặc điểm mới của ASP.NET và các ví dụ được trình bày chi tiết qua từng

chương

2 GIỚI THIỆU ASP.NET

Hiện tại ASP 3.0 (.asp) đã và đang trở thành kịch bản được nhiều người sử dụng để thiết kế ứng

dụng thương mại điện tử dưới nhiều hình thức khác nhau Chúng được sự hỗ trợ mạnh của ngôn ngữ

lập trình Visual Basic 6.0 và cơ sở dữ liệu SQL Server cùng với sự ra đời của công nghệ COM và

DCOM, ứng dụng trở nên hoàn hảo và ưu việt hơn trong quá trình trao đổi thông tin trên mạng Internet và Intranet

Tuy nhiên, Microsoft đã và đang nổ lực cho một công nghệ Web xử lý phía máy chủ hoàn toàn mới đó là ASP.NET, độc lập với mọi trình duyệt Điều này có nghĩa là trình duyệt không cần phải cài đặc bất kỳ công cụ hỗ trợ nào để duyệt trang Web dạng ASP.NET (.aspx)

Với kỹ thuật cho phép mọi thực thi đều nằm trên trình chủ (Server), có nghĩa là trình chủ phải

xử lý nhiều vấn đề cùng một lúc cho nhiều người dùng, chính vì vậy đòi hỏi cấu hình máy chủ có cấu hình mạnh và đòi hỏi băng thông có khả năng truyền dữ liệu với khối lượng lớn và tốc độ truy cập nhanh

ASP.NET được thiết kế tương thích với các phiên bản ASP trước đó Bạn có thể triển khai ứng

dụng phát triển bằng ASP.NET chung với ứng dụng phát triển bằng ASP 3.0 trên cùng một máy chủ

Windows 2000 mà không cần thay đổi cấu hình của ứng dụng ASP

ASP.NET và ASP hoạt động độc lập với nhau tuy chúng cùng chạy trên cùng một trình chủ Web Khi bạn cài ASP.NET từ bộ cài đặt NET SDK Framework, Microsoft sẽ không nâng cấp hay đè

Trang 3

chồng lên phiên bản ASP trước đó Thay vào đó, NET Framework được cài thêm vào hệ điều hành để tích hợp trình chủ Web và IIS như là một tuỳ chọn hoạt động chung với ASP

Những ngôn ngữ được dùng để viết ASP.NET là VBScript (mã Visual Basic.NET), JScript (mã

J++), C# (mã C#) Tuỳ thuộc vào khai báo chỉ mục trong đối tượng chỉ dẫn đầu trang ASP.NET, bạn

có thể chỉ rõ ngôn ngữ lập trình bạn sử dụng để xây dựng trang ASP.NET (tên mở rộng của trang

ASP.NET là ASPX)

3 TẠI SAO CHÚNG TA PHẢI DÙNG ASP.NET

ASP là một mô hình tối ưu và dể sử dụng với nhiều ứng dụng Web trên nền Windows, chúng cho

phép bạn xây dựng một ứng dụng Web có quy mô lớn Tuy nhiên, nó có nhiều thiếu sót như mã không cấu trúc rõ ràng, do mã ASP được viết chèn lẫn lộn với mã HTML Đôi khi, bạn sử dụng các phát biểu

include để chèn tập tin vào trang ASP nhưng bạn phải giải quyết một số vấn đề để tránh sự xáo trộn

cấu trúc HTML và mã ASP của trang mà bạn khai báo chèn

Trang ASP được thông dịch lại toàn bộ khi người sử dụng triệu gọi đến chúng Điều này có nghĩa là trang ASP không thay đổi cấu trúc nhưng vẫn phải thông dịch lại mỗi khi người sử dụng triệu gọi Thay vì, chỉ thông dịch lại trang ASP mỗi khi trang này có thay đổi về mặt cấu trúc

Ngoài ra, ASP sử dụng đối tượng ADO để kết nối cơ sở dữ liệu của Microsoft, bao gồm các cơ sở dữ liệu thông dụng như: Microsoft Access, Microsoft SQL Server, tính bảo mật chưa cao của đối tượng này chưa cao Thêm vào đó, đối tượng ADO không thể kết nối cơ sở dữ liệu định dạng XML Trong trang ASP, bạn sử dụng hai đối tượng Application và Session, nhưng có quá nhiều vấn đề có thể xảy ra trong quá trình triển khai ứng dụng lớn được thiết kế trên nhiều Server Trước tiên chúng tạo ra dung lượng lớn trên Server khi có hàng ngàn người truy cập

Đồng thời, trong trường hợp có nhiều Server cho một ứng dụng Web, bạn không biết trang kế tiếp trên trình duyệt được thực hiện trên máy nào và khả năng quản lý trạng thái session không thể thực hiện trên nhiều Server

Xuất phát từ các điểm yếu tương tự như trên, công nghệ ASP.NET sẽ hướng các lập trình viên

Web vào quỹ đạo của chúng bằng các lý do như:

Độc lập ngôn ngữ (Language Independence): ASP.NET cho phép bạn không biên dịch ngôn

ngữ, thực hiện tối ưu với các ngôn ngữ kết hợp

Dễ phát triển (Simplified Development): ASP.NET cho phép bạn khai báo và viết mã và đơn

giản hoá vấn đề

Tách mã và nội dung ra hai phần khác nhau (Separation of code and Content): Trong mỗi

Web form bạn có thể khai báp một số thủ tục trên tập tin với các tên mở rộng vb, trang

này được gọi là "Code behind the Page" chứa đựng nội dung mã nguồn Trong khi Web Form

chứa các đối tượng trực quan mang tính giao diện người dùng

Tính mềm dẻo và khả năng nâng cấp (Improved Scalability): Cho phép chúng ta quản lý trạng thái của các Session và tạo Form trên một ứng dụng sử dụng hệ thống nhiều Server

Hỗ trợ cho nhiều trình khách (Support for multi client): ASP.NET Controls (điều khiển

ASP.NET) có thể tự động nhận dạng trình khách để hiển thị cho phù hợp Chính vì vậy,

bạn sẽ không quan tâm đến việc phải viết mã như thế nào để nhận dạng loại trình duyệt

của trình khách (Client) do người sử dụng triệu gọi trang ASP.NET

Các Controls hay còn gọi là điều khiển của Web Form (New Web Form Controls): Là những

Controls có thể xuất ra mã HTML 3.2 trên trình duyệt Tuy nhiên, chúng cho phép xuất ra

tất cả các điều khiển của các Platform khác như: Wire less phone, palm, pilots, pager và các

thiết bị khác

Xử lý trên phía trình chủ (Server Side Processing): ASP.NET thay đổi trang Web như một đối tượng trên Server Side, nhiều thuộc tính, phương thức, đối tượng và biến cố sử dụng để tự động tạo ra nội dung trong mã nguồn bằng phát biểu "Runat = Server"

Trang 4

Thay vì sử dụng mô hình tích DLL, COM, DCOM trước đây, trong trường hợp ứng dụng sử dụng công nghệ ASP.NET bạn có thể sử dụng dịch vụ tương tự có tên là Web Services

4 TÓM TẮT CÁC ĐẶC ĐIỂM MỚI CỦA ASP.NET

Đối tượng Pages

Page (trang ứng dụng) sử dụng các thành phần điều khiển có khả năng hoạt dộng và tương tác

với nhau ngay trên trình chủ Web Server Với đặc điểm này, chúng ta đã giảm thiểu quá trình viết mã

tương tác giữa các trang

Lập trình trong môi trường ASP.NET tương tự như lập trình thiết kế trong NET Windows

Forms Do đó, các ứng dụng ASP.NET còn gọi là Web Forms

HTML Server Side Controls

Các thành phần điều khiển HTML (HtmlControl) có khả năng xử lý ngay trên trình chủ dựa

vào thuộc tính và phương thức tương tự các hoạt động của chúng phía trình khách (sử dụng thuộc tính

runat=”server”)

Những thành phần điều khiển này còn cho phép kết hợp mã xử lý của trang ASP.NET với một

sự kiện nào đó phát sinh phía trình khách được xem như đang diễn dịch trên trình chủ (mô hình chuyển giao)

Rich Control

Rich Control là tập các thành phần điều khiển đa năng, chúng chạy trên Server và có thể tạo ra

các phần tử cũng như đối tượng HTML phức hợp cho trình khách

Chẳng hạn, Rich Control tạo ra khung lưới (datagrid), lịch (calendar), bảng (table), khung nhìn (list view) Rich Control còn cho phép ràng buộc dữ liệu và xử lý dữ liệu tương tự như bạn đang viết

một ứng dụng để bàn

Web Services (các dịch vụ Web)

Web Services (các dịch vụ Web) có thể thay thế cho DLL, COM, DCOM trước đây Trang

ASP.NET có thể không cần hiển thị kết xuất cho trình khách Chúng hoạt động như những chương

trình xử lý yêu cầu ở hậu cảnh

Ví dụ như trong ASP.NET của bạn có thể là một lớp đối tượng cung cấp phương thưcù trả về giá

trị nào đó khi nhận được yêu cầu từ trình khách

Cấu hình và phân phối

Đơn giản và dễ dàng với các tập tin (web.config) cấu hình theo định dạng văn bản XML Các

thành đối tượng không còn phải đăng ký với hệ thống trước khi sử dụng nữa (không còn dùng đến

regsvr 32.exe như đã sử dụng COM, DLL, DCOM trong tập 1)

Bạn chỉ cần copy các trang ASP.NET hay các đối tượng lên máy chủ, chỉ ra vị trí của chúng

Chương trình cũng như dịch vụ của bạn đã có thể sẵn sàng để sử dụng

Trạng thái Session

Tự dộng quản lý trạng thái của đối tượng Session và Application, bạn có thể lưu nội dung của

Session hay Application của một ứng dụng đặc thù nào đó xuống các file trên đĩa để sử dụng lại

Xử lý lỗi

Xử lý lỗi (debug) và lần vết ( tracing ) các công cụ gỡ lỗi lần vết thông tin được nâng cấp và

đáng tin cậy hơn Mỗi trang tài liệu có thể sử dụng một trang xử lý lỗi riêng biệt và kết xuất nội dung của biến để theo dõi ngay trong quá trình thưcï thi trang

Trang 5

Các trình gỡ lỗi debug được tích hợp sử dụng cho môi trường đa ngôn ngữ Visual Basic, C++, C# Bạn có thể tạo ra các thành phần đối tượng từ C++, C# và triệu gọi chúng bằng ngôn ngữ Visual

Basic.NET theo cùng cú pháp

4.8.

4.9.

4.10.

Quản lý bảo mật

Quản lý bảo mật (Security mangement), chúng ta có thể tận dụng các dịch vụ đăng nhập (login) tuỳ biến cho trang tài liệu ASP.NET theo phong cách của Web hoặc cơ chế đăng nhập và kiểm tra

quyền xuất dựa trên hệ thống bảo mật của hệ điều hành

Tuỳ biến vùng đệm trên trình chủ

Bằøng cách sử dụng tuỳ biến vùng đệm trên trình chủ (Custom Server Caching) của kiến trúc

ASP.NET được quản lý rất linh động Bạn có thể tự tạo các vùng đệm riêng chứa một kiểu giá trị và

đối tượng trong quá trình hoạt động của trang nhằm tăng tốc cho ứng dụng

Một tập các đối tượng

ASP.NET hỗ trợ một tập phong phú các thư viện, lớp và đối tượng, nhằm phục vụ cho hầu hết

những gì mà các nhà phát triển ứng dụng cần đến khi làm việc với ASP.NET

Bằng các thư viện này, công việc viết ứng dụng cho Web trở nên dễ dàng và đơn giản hơn bao

giờ hết

Ví dụ như bạn có thể sử dụng các thành phần đối tượng "Send Mail" để gửi nhận thư, đối tượng mã hoá và giải mã thông tin, đối tượng đếm số người truy cập trang Web (Counter), đối tượng truy xuất dữ liệu ADO, đối tượng truy cập các dịch vụ mạng, đối tượng đọc ghi trên hệ thống NTFS, đối tượng ghi ra logfile của hệ điều hành, …

Lưu ý rằng, các đối tượng nội tại khác nhau như: Request, Response, Form, Cookies, Server

Variables đều được giữ lại và hoàn toàn tương thích với ASP Tuy nhiên ASP.NET đã cung cấp thêm

cho những đối tượng này rất nhiều thuộc tính và phương thức mới giúp nâng cao khả năng xử lý cho ứng dụng

Trang 6

5 CÀI ĐẶT VS.NET 2003

Để cài đặt VS.NET 2003 bạn sử dụng 4 đĩa, đầu tiên đưa đĩa thứ nhất sau đó máy tinh yêu cầu đĩa kế tiếp bạn cho đĩa thứ 3 Sau khi cài đặt đĩa thứ 3 xong đĩa kế tiếp là đĩa thứ 2 Nếu có cài đặt MSDN thì cài tiếp đĩa thứ 4

Tuy nhiên, để cài đặt VS.NET trên hệ điều hành Windows 2000 thì bạn cần ca SP3 trở về sau Ngoài ra, trong khi cài đặt đĩa thứ 3 nếu có phát sinh lỗi và yêu cầu xuất hiện là retry hay irgnore thì bạn rút đĩa đó ra đưa đĩa khác vào và nhấn retry, xs lại xuất hiện bây giờ bạn đưa đĩa đang cài đặt trở lại và nhấn retry để bỏ qua các tập tin bị thiếu

Khi cài đặt VS.NET 2003, nếu sử dụng VB.NET thì bạn không nên cài đặt C#, C++ và J# để giảm bớt dung lượng cài đặt Lưu ý rằng, chúng ta cần cài đặt NET Framework vì đó là kernel chính của NET

6 CẤU HÌNH ỨNG DỤNG TRONG IIS

Windows 2000, bằng cách chọn menu có tên Internet Information Service, cửa sổ IIS xuất hiện

như hình 20-7

Hình: Cửa sổ IIS

Trong IIS luôn luôn tồn tại hai Web Site là Administration Web Site (dùng cho việc cấu hình

IIS), Default Web Site (ứng dụng Web mặc định)

Default Web Site được cấu hình mặc định ứng với thư mục gốc, trong trường hợp này chính là

thư mục C:\inetpub\wwwroot\ Tuy nhiên, bạn có thể thay đổi thư mục mặc định này bằng cách cấu hình trong IIS

Mặt khác, sau khi bạn cài đặt IIS xong, trên trình duyệt Web (IE chẳng hạn), bạn có thể sử dụng các trang Web mặc định của Windows bằng cách gõ: http://localhost/ (cùng với thư mục con) như hay http://servername/

Trong trường hợp máy của bạn có cấu hình card mạng với địa chỉ IP, bạn cũng có thể gọi trang

Web bằng cách gõ như sau: http://192.168.101.207/

Để khởi động một ứng dụng Web Site trong IIS đang ở chế độ dừng hay ngừng hoạt động, bạn có thể chọn tên ứng dụng Web đó và bấm nút Start như hình sau

Trang 7

Hình: Start một ứng dụng Web Site

Tuy nhiên, tương tự như vậy trong trường hợp muốn ngừng một ứng dụng Web Site đang chạy, bạn có thể chọn tên Web Site và chọn nút Stop hay Pause như hình sau

Hình: Dừng một ứng dụng

Để cập nhật lại một số thông số của ứng dụng Web Site trong IIS, bạn chọn tên ứng dụng và

R-Click | Properties, giả sử trong trường hợp này chúng ta chọn tên ứng dụng có tên là ASPNET cửa sổ

xuất hiện như hình sau

Trang 8

Hình: Cập nhật cấu hình của ứng dụng ASPNET

Thông tin của Web Site

Cửa sổ này bao gồm 10 ngăn, ngăn thứ nhất còn gọi là Web Site, ngăn này bao gồm các thông

tin như sau:

Description

Tên của ứng dụng dùng để tham khảo Trong trường hợp ứng dụng đính kèm, chúng ta cung cấp

giá trị cho Description là Intershop

IP Address

Địa chỉ card mạng của trình chủ, tên của Server hay bạn có thể cung cấp localhost Trong

trường hợp Server của bạn có nhiều IP, bạn cũng có thể chọn All Unassigned thay vì chỉ định một địa chỉ IP như trên

Port

Port (Cổng) chuẩn cho ứng dụng Web là 80, điều này có nghĩa là khi người dùng gõ địa chỉ trên

trình duyệt http://localhost/, http://192.168.101.207/ hay gõ tên miền như

http://www.intershop.com

Trong trường hợp bạn cấu hình Port khác với Port chuẩn, chẳng hạn Port có số là 81, trên trình duyệt người dùng phải gõ tương ứng: http://localhost:81, http://192.168.101.207:81/ hay gõ tên miền như http://www.intershop.com:81/

Trang 9

C:\Inetpub\wwwroot\ chẳng hạn Ngoài ra, trong phần này chúng ta cần xác định các quyền truy cập

trên ứng dụng như hình sau

Hình: Home Directory

Local Path

Local Path (đường dẫn cục bộ) là vị trí của thư mục của ứng dụng mà bạn cần khai báo Điều

này có nghĩa là những tập tin ASP, HTML, JS, CSS và tập tin hình ảnh cũng như các tập tin khác có

thể gọi trên trình duyệt đều được đặt trong thư mục này

Trong trường hợp này, chúng tôi đang sử dụng thư mục mặc định là

C:\inetpub\wwwroot\intershop\

Để thay đổi thư mục ứng dụng, bạn có thể chọn nút Browse , lập tức cửa sổ liệt kê thư mục trên

máy xuất hiện như hình sau

Trang 10

Hình: Danh sách thư mục Trong trường hợp thư mục của ứng dụng nằm trên mạng cục bộ, bạn có thể chọn tuỳ chọn thứ

hai trong Home Directory và cung cấp tên server, tên thư mục chia sẻ (share) như hình sau

Hình: Thư mục ứng dụng trên mạng

Trang 11

6.2.2 Các tuỳ chọn khác

Trong thời gian thiết kế ứng dụng, nếu bạn trình bày danh sách thư mục cũng như tập tin trên

trình duyệt như các trình bày trong Windows Explorer như hình sau, bạn có thể chọn tuỳ chọn

Trang 12

Hình: Không chọn tuỳ chọn Directory Browsing

Ngoài ra, nếu bạn muốn cho phép người dùng ghi tập tin vào thư mục Web từ phía trình khách (trình duyệt), bạn có thể chọn vào tuỳ chọn Write

Tuy nhiên, bạn cẩn thận khi cung cấp tuỳ chọn này, bởi vì đây là một trong những đường mà

một số Hacker tấn công ứng dụng Web

6.3 Documents

Nếu bạn muốn trình bày một trang mặc định mỗi khi người sử dụng được triệu gọi ứng dụng

Web Site, bạn có thể khai báo chúng trong phần Documents như hình sau

Trang 13

Để cấu hình ứng dụng Web trong IIS, bạn có thể thực hiện các bước như trình bày trong tập 1 Nếu bạn sử dụng hệ điều hành Windows Server 2003, bạn có thể tham khảo cách cấu hình ứng dụng

Web trong IIS 6.0 trong chương cấu hình ứng dụng Web

Trong trường hợp này, chúng tôi sử dụng thư mục có tên myaspx trong thư mục wwwroot và cấu

hình thư mục như ứng dụng mặc định như hình 2-16 Điều này có nghĩa là cho phép người sử dụng gọi

chúng trên trình duyệt bằng cách gõ http://localhost/

Hình 2-16: Cấu hình myaspx trong IIS 5.0

Sau đó, bạn có thể khai báo trang hello.aspx với nội dung cơ bản nhất như ví dụ 2-1

Ví dụ 2-1: Nội dung trang Hello.aspx

<script runat="server">

Sub Page_Load(sender As Object, e As EventArgs)

‘ Xuất chuỗi Welcome to Code of ASPX Ra trình duyệt

Response.Write("Welcome to Code of ASPX.")

‘ Xuất chuỗi Welcome to ASPX Page Ra trình duyệt

Welcome to ASPX Page

</body>

</html>

Trang 14

Kiểm tra chúng có thực thi hay không bằng cách triệu gọi nó trên trình duyệt

(http://localhost/hello.aspx) kết quả xuất hiện như hình 2-17

Hình 2-17: Kết quả của trang hello.aspx

Trang 15

BÀI 2:.NET FRAMEWORK VÀ TRANG ASP.NET

1 GIỚI THIỆU NET FRAMEWORK

.NET Framework là cơ sở hạ tầng bằng việc cung cấp cho người dùng cách thức sử dụng đa ngôn ngữ lập trình để truy cập thông tin, file, hoặc các chương trình của họ ở mọi lúc mọi nơi

trên mọi cấu hình phần cứng và thiết bị

Tâm điểm của NET Framework là CLR (Comm Language Runtime) và tập phân cấp các bộ thư viện hợp nhất và ASP.NET CLR quản lý sự thực thi của đoạn mã NET và cung cấp các

dịch vụ tạo quá trình phát triển chương trình ứng dụng dễ dàng hơn Các trình biên dịch và các

công cụ làm cho chức năng của thư viện thực thi runtime trở nên phong phú và hiệu quả hơn Ngoài ra, dịch vụ Web trong NET Framework cho phép bạn phát triển ứng dụng Internet hay Intranet trong hiện tại lẫn tương lai bằng bất cứ ngôn ngữ lập trình và truy cập đến hệ thống bất kỳ CLR cung cấp sự dễ dàng cho các nhà phát triển Visual Basic NET khi thiết kế

và xây dựng ứng dụng mà những đối tượng của chúng có thể tương tác với các đối tượng được viết bằng ngôn ngữ khác

Sự tương tác này có thể bởi vì các trình biên dịch ngôn ngữ và các công cụ phát triển

hướng đến sử dụng CLR với một hệ thống kiểu dữ liệu chung định nghĩa bởi thư viện runtime

như hình sau

Hình 2-1: Kiến trúc NET Framework

Bạn có thể tham khảo tất cả những thành phần cấu thành trong NET Framework như hình 2-1, mức trên cùng là trình biên dịch Visual Basic hoặc các trình biên dịch của các ngôn ngữ khác trong bộ Visual Studio NET

Trong hình 2-1, cũng cho biết bạn có thể sử dụng Visual Studio.NET kết hợp với môi trường phát triển (Intergrated Development Environment – IDE) để lập trình ASP.NET

CLS – Common Language Speciftcation

Data and XML

Base Class Library

CLR – Common Language Runtime

Visual Studio NET NET Framework

Trang 16

.NET Framework còn kết hợp mô hình lập trình đơn giản, dễ sử dụng với các giao thức mở và biến đổi được của Internet Để đạt được điều này, NET Framework bao gồm các đặt điểm

sau:

ƒ Sự hợp nhất thông qua các chuẩn Internet và hỗ trợ các chuẩn Web Service: Cho phép

giao tiếp với mọi ứng dụng phát triển trên cơ sở hạ tầng bất kỳ mà không cần biết

đến chi tiết bên trong cơ sở hạ tầng đó thông qua định dạng XML bằng nghi thức

SOAP (Simple Object Access Protocol)

ƒ Khả năng biến đổi được: Đa số các hệ thống lớn đang sử dụng trên thế giới được xây

dựng trên kiến trúc không đồng bộ .NET Framework cho phép chúng ta xây dựng ứng

dụng có khả năng biến đổi và giao tiếp với nhau giữa các kiến trúc khác nhau

ƒ Hỗ trợ nhiều ngôn ngữ: Những nhóm lập trình sử dụng ngôn ngữ lập trình khác nhau

để phát triển ứng dụng do chúng có những tính ưu việc của từng loại .NET Framework

cho phép trao đổi và giao tiếp giữa các hệ thống được xây dựng trên các ngôn ngữ lập trình khác nhau Ngoài ra, chúng ta có thể sử dụng lại những ứng dụng đang tồn tại mà không cần phải xây dựng lại từ đầu

ƒ Bảo mật tốt hơn: Bảo mật là một trong những vấn đề gây mất nhiều thời gian của

người làm tin học Kiến trúc bảo mật của NET Framework được thiết kế từ dưới lên để đảm bảo các ứng dụng và dữ liệu được bảo vệ tinh vi dựa trên mô hình evedence-

base (bằng chứng)

ƒ Kế thừa những dịch vụ của hệ điều hành: NET Framework tận dụng lợi thế đa dạng và

phong phú của các thành phần trong hệ điều hành đang có để cung cấp cho người sử dụng theo cách thân thiện và dễ sử dụng hơn

ƒ Tách biệt giữa mã nguồn (code behind) và thành phần là một phần quan trọng của NET Framework Ngoài ra, NET Framework biên dịch trang ASP.NET thành tập tin

DLL (Dynamic Link Library) khi được gọi lần đầu như hình 2-2, thay vì thông dịch

chúng như từng thực hiện trong ASP 3.0

2 BIÊN DỊCH TRANG ASPX

Khi người sử dụng gọi trang ASPX lần đầu tiên, IIS triệu gọi trình biên dịch dịch trang

ASPX (trang Code-bihind) thành tập tin Class Kế tiếp, tập tin Class này được biên dịch thành

tập tin DLL Sau đó, trang DLL thực thi và trả về kết quả cho người sử dụng

Tập tin ASPX

ASPX Engine

behindClass

Code-Tập tin Class

Tập tin DLL

Generate

Compile

Parse

InstantiateRequest

Instantiate Process and Render

Request

Respons

Respons

Trang 17

Hình 2-2: Quá trình biên dịch trang ASP.NET

Trong trường hợp người sử dụng gọi lại trang ASPX lần kế tiếp, thì tập tin DLL sẽ được

gọi và thực thi để trả kết quả về cho người sử dụng

Như vậy, trang ASPX sẽ biên dịch lại tập tin DLL khi chúng tìm thấy cấu trúc của nó thay đổi hoặc chúng không tìm thấy tập tin DLL tương ứng trong thư mục có tên Temporary

ASP.NET Files như hình 2-3

Tóm lại, khi người sử dụng truy cập trang ASPX vào lần đầu tiên thường chậm, nhưng nếu người sử dụng truy cập trang ASP.NET đó lần kế tiếp thì quá trình này sẽ xảy ra nhanh chóng Lưu ý rằng, bạn có thể tìm thấy các tập tin DLL được biên dịch từ trang ASPX tương ứng như hình 2-2 trong thư mục Temporary ASP.NET Files thuộc thư mục Microsoft.NET

Hình 2-3: Vị trí của các tập tin DLL

3 CÀI ĐẶT NET FRAMEWORK

3.1 Yêu cầu phần cứng và phần mềm

.NET Framework 1.0 chỉ hỗ trợ trên hệ điều hành Windows 2000 (Professional và Server),

Windows XP không hỗ trợ cho hệ điều hành Windows 4.0 và Windows 9x Bạn có thể sử dụng

.NET Framework 1.1 SDK tích hợp trong hệ điều hành Windows Server 2003

Để cài đặt NET Framework 1.0 SDK, bạn cần có cấu hình phần cứng và phần mềm nhỏ

Trang 18

Windows 2000, với Windows service pack 2.0

Windows XP

Lưu ý: NET Framework SDK không hỗ trợ trên

Windows Millennium Edition và Microsoft Windows NT® 4.0

Hard Disk 660 MB đĩa cứng, 190 MB cho các yêu cầu khác

tức là khoản (850 MB total)

Display 800 x 600 hay độ phân giải cao hơn với 256 màu

Để truy cập ASP.NET, bạn cần cài đặt Internet Information Services (IIS) với NET

Framework Trong trường hợp IIS cài đặt sau NET Framework, ASP.NET sẽ không thể thực

thi, bạn cần đăng ký Aspnet_isapi.dll bằng cách sử dụng Regsvr32.exe

Nếu hệ điều hành là Windows Server 2003, bạn không cần cài đặt NET Framework, bởi

vì NET Framework 1.1 đã được tích hợp sẵn Trong trường hợp bạn muốn sử dụng NET

Framework 1.1 với hệ điều hành Windows 2000, bạn cần cài đặt Service Pack mới nhất

3.2 Cài đặt NET Framework

Nếu bạn đang danh sách hệ điều hành Windows 2000, bạn có thể cài đặt NET

Framework 1.0 bằng cách chọn đĩa thứ 5 của bộ Visual Studio.NET (7 đĩa)

Sau khi bạn kết thúc cài đặt và cấu hình NET Framework trong IIS, bạn có thể kiểm tra bằng cách chọn ứng dụng trong IIS (5.0) | R-Click | Properties | Home Directories |

Configuration, cửa sổ xuất hiện như hình 2-4 sau

Hình 2-4: Cấu hình trong IIS

Trang 19

4 CẤU HÌNH ỨNG DỤNG TRONG IIS 5.0

Để cấu hình ứng dụng Web trong IIS 5.0, chún ta sử dụng thư mục có tên myaspx trong thư mục wwwroot và cấu hình thư mục như ứng dụng mặc định như hình 2-5 Điều này có nghĩa là cho phép người sử dụng gọi chúng trên trình duyệt bằng cách gõ http://localhost/

Hình 2-5: Cấu hình myaspx trong IIS 5.0

Sau đó, bạn có thể khai báo trang hello.aspx với nội dung cơ bản nhất như ví dụ sau

Nội dung trang Hello.aspx

-

<script runat="server">

Sub Page_Load(sender As Object, e As EventArgs)

‘ Xuất chuỗi Welcome to Code of ASPX Ra trình duyệt

Response.Write("Welcome to Code of ASPX.")

‘ Xuất chuỗi Welcome to ASPX Page Ra trình duyệt

Welcome to ASPX Page

</body>

</html>

Trang 20

Kiểm tra chúng có thực thi hay không bằng cách triệu gọi nó trên trình duyệt

(http://localhost/hello.aspx) kết quả xuất hiện như hình 2-6

Hình 2-6: Kết quả của trang hello.aspx

Trang 21

Bài 3: Các đối tượng trong ASP.NET

1 ĐỐI TƯỢNG REQUEST

Tương tự như đối tượng Session, đối tượng Request được cài đặt trong lớp HttpRequest thuộc không gian tên System.Web Tất cả thuộc tính và phương thức đang tồn tại trong ASP đều được hỗ trợ trên ASP.NET Tương tự như trong đối tượng Session, cấu trúc của đối tượng Request có

một vài thay đổi cùng với một số thuộc tính và phương thức mới

Nếu bạn muốn sử dụng đối tượng Request như ASP trong trang ASP.NET, bạn có thể khai

báo như trong ví dụ 3-7

Ví dụ 3-7: Khai báo đối tượng Request trong ASP.NET

Khoi tao Request trong ASPX <br>

nhu cach khai bao trong ASP

<input type=hidden name=fullname

value="Hoang Van Tam">

Trang 22

Sau khi bạn Submit trang ex7.aspx trên trình duyệt, kết quả sẽ xuất hiện như hình 3-2

Hình 3-2: Khai báo và sử dụng Request (ASP) trong ASP.NET

Tuy chúng ta có thể khai báo và sử dụng đối tượng Request của ASP trong trang ASP.NET,

nhưng bạn cũng nên sử dụng các thuộc tính, thuộc tính được thay đổi và thêm mới của đối tượng

này trong trang ASP.NET để có một quá trình xử lý phù hợp và tốt hơn

Bảng 3-3: Thuộc tính và phương thức của Request

-

Thuộc tính/ Diễn giải

-

FilePath Trả về đường dẫn ảo của yêu cầu, thuộc

tính này tương đương vơi SCRIPT_NAME

Files Trả về HttpFileCollection của tập

nhiều tập tin được tải lên Server (sử dụng cho dạng multi-part/forms)

Form Trả về một tập dữ liệu của nội dung từ

Form (NameValueCollection) Cách truy

cập tập dữ liệu này khác với truy cập

tập dữ liệu từ Form của ASP Tham khảo

Request Collection trong phần kế tiếp

Params Như trình bày trong chương trước,

thuộc tính này sử dụng để lấy giá trị

của phương thức trong Form,

QueryString, ServerVariable hay Cookie

Path Đường dẫn ảo của yêu cầu, tương đương

PathInfo Đường dẫn ảo của yêu cầu, tương đương

PhysicalApplicationPath

Đường dẫn vật lý của thư mục gốc, tương

PhysicalPath

Đường dẫn vật lý của yêu cầu, tương

QueryString Trả về một tập dữ liệu của nội dung từ

2

Trang 23

QueryString (NameValueCollection)

Cách truy cập tập dữ liệu này khác với

truy cập tập dữ liệu từ Form của ASP

phần kế tiếp

TotalBytes Dung lượng của Stream trong luồng dữ

Url Đối tượng Url chứa đựng chi tiết của

yêu cầu Đối tượng Url (từ không gian

tên System) bao gồm các thông tin chi

UserHostAddress

Địa chỉ IP của người sử dụng, tương

UserHostName

Tên DNS của người sử dụng, tương

MapPath Chuyển đổi đường dẫn ảo thành đường dẫn

SaveAS Lưu yêu cầu HTTP vào đĩa

-

1.1.1 Request Collection trong ASP

Đối tượng Request cho phép truy cập đến nội dung của Form hay QueryString, trong đó bao gồm các phần tử cùng tên như trong các trình bày chúng ta sử dụng thẻ checkbox, radio, cùng

tên và khác giá trị như ví dụ 3-8

Ví dụ 3-8: Danh sách Industry

<select name=lstIndu multiple>

<option value="AUT"> Auto</option>

<option value="ENG"> Engineering</option>

<option value="FOO"> Foods</option>

<option value="GAR"> Garment</option>

</select>

</td></tr><tr><td colspan=2>

<input type=submit value="Submit">

Gia tri cua danh sach chon<br>

Sau khi chọn một hay nhiều phần tử trong danh sách Industry, bạn nhấn nút Submit để

Submit trang này, kết quả nhận được như Hình 3-3

3

Trang 24

Hình 3-3: Request trong ASP

1.1.2 Request Collection trong ASP.NET

Nếu bạn viết đoạn chương trình trong ví dụ 3-8 trong trang ASP.NET, chúng không thể

biên dịch được Chính vì vậy, bạn có thể khai báo lại như trong ví dụ 3-9

Ví dụ 3-9: Request trong ASP.NET

<select name=lstIndu multiple>

<option value="" selected> Chon </option>

<option value="AUT" > Auto</option>

<option value="ENG"> Engineering</option>

<option value="FOO"> Foods</option>

<option value="GAR"> Garment</option>

tính của nó, chúng ta sẽ lấy các giá trị mà người sử dụng chọn như ví dụ 3-10

Ví dụ 3-10: Sử dụng đối tượng Request trong ASP.NET

4

Trang 25

Dim item As Integer

Dim elements As Integer=0

Sử dụng phương thức GetValues ứng với chỉ dẫn của phần tử trong tập phần tử tính từ

phần tử thứ 0, bạn có thể đọc giá trị của từng phần tử mà người sử dụng đã chọn

2 ĐỐI TƯỢNG RESPONSE

Tương tự như hai đối tượng đã trình bày ở trên, tất cả các thuộc tính và phương thức trước

đây của đối tượng Response đều được sử dụng lại Tuy nhiên, khi sử dụng đối tượng Response trong ASP.NET, bạn cần quan tm một số thuộc tính và phương thức mới

Lưu ý rằng, trong ASP bạn khai báo đối tượng Response.Write như sau:

Expires Mặc dù nó còn hỗ trợ, nhưng nó lại

được đối nghịch trong phương thức

Redirect Chuyển hướng đến địa chỉ file trong

cùng ứg dụng hay URL khác trong lúc

Write Ghi thông tin từ các kiểu dữ liệu

Trang 26

Bài 4: Các đối tượng trong ASP.NET

1 ĐỐI TƯỢNG APPLICATION

Trong ASP, chúng ta sử dụng đối tượng Application để trao đổi thông tin giữa các phiên

làm việc của các trình duyệt đối với trình chủ Ví dụ trong trường hợp bạn muốn sử dụng biến

Counter đếm số lần truy cập trang ASP của mọi trình duyệt Biến này phải có hiệu lực trên toàn

ứng dụng Khi đó, mọi trình duyệt đều có thể lưu trữ và truy cập đến biến này

Chẳng hạn, bạn khởi tạo một biến Application có tên là Counter trong trang ex.asp, nếu đối tượng Application có tên Counter chưa có giá trị, chúng ta khởi tạo giá trị là 1 Ngược lại, chúng

ta tăng giá trị của chúng lên 1 như ví dụ 3-1

Ví dụ 3-1: Đối tượng Application trong ASP

‘ Nếu đối tượng chưa khởi tạo

if Application ("Counter")="" then

Application ("Counter")=1

Else

‘ Nếu đối tượng đã khởi tạo, tăng giá trị lên 1

Application ("Counter")=Application ("Counter")+1

End if

‘ In giá trị của đối tượng Application

Response.Write("Application is Counter: " & Application

Contents và StaticObjects Collections, nhưng chúng cũng có một số khác nhau mà chúng ta cần

tìm hiểu Chẳng hạn, hai phát biểu như sau là tương đương

Trang 27

Trong trang ASP.NET, bạn có thể sử dụng một trong hai phát biểu Nghĩa là phát biểu thứ

nhất được thay thế bằng phát biểu hai Tuy nhiên, bạn có thể sử dụng một trong hai phát biểu

trên trong trang ASP.NET như ví dụ 3-3

Ví dụ 3-3: Đối tượng Application trong ASP.NET

Khi triệu gọi trang ex.aspx trên trình duyệt, bạn sẽ có kết quả là 1 và 10 như Hình 3-1

Hình 3-1: Đối tượng Application trong ASP.NET Ngoài ra, đối tượng này có một số thuộc tính và phương thức mới như trình bày trong bảng 3-1

2

Trang 28

Bảng 3-1: Thuộc tính và phương thức của Application

-

Thuộc tính/ Diễn giải

-

AllKeys Trả về một mảng dạng chuỗi chứa đựng

tên của các phần tử trạng thái ứng

Count Trả về số phần tử trong ứng dụng

Add Thêm phần tử vào ứng dụng

Clear Xoá tất cả các phần tử trong ứng

Get Trả về một phần tử chỉ định

GetKey Trả về khoá của phần tử chỉ định

Set Cập nhật giá trị của phần tử trong

-

2 ĐỐI TƯỢNG SESSION

Đối tượng Session được cài đặt trong lớp HttpSessionState thuộc không gian tên

System.Web.SessionState Hai thuộc tính Contents và StaticObjects tương tự như trong đối tượng Application

Cấu trúc của đối tượng này khác với cấu trúc trong ASP, nhưng chúng làm việc tương tự như bạn đã khai báo và sử dụng đối tượng session trong ASP

Chẳng hạn, hai phát biểu sau đây có tác dụng như nhau:

Trong ASP.NET, bạn cũng có thể khai báo như trong trang ASP Để kiểm tra điều này, bạn

có thể xem kết quả của ví dụ 3-5 sau:

Ví dụ 3-5: Khai báo Session (ASP) trong ASP.NET

Trang 29

content="text/html; charset=UTF-8">

</head>

<body>

Khoi tao Session trong ASPX <br>

nhu cach khai bao trong ASP

Clear Xoá tất cả các phần tử trong Session

SessionID Trả về một giá trị là 1 chuỗi mà trình

chủ cấp cho Session (trong ASP giá trị

này là một Long)

Remove Trong ASP, bạn có thể xoá một Session

bằng cách cung cấp chỉ mục của Session

hay tên của Session Đối với ASP.NET,

bạn có thể xoá Session bằng cách chỉ

định tên Trong trường hợp bạn muốn xoá

một phần tử trong Session theo chỉ mục,

bạn phải sử dụng phương thức

RemoveAt(i)

RemoveAt Khi bạn muốn xoá một phần tử trong

Session theo chỉ mục, bạn phải sử dụng

-

4

Trang 30

Bài 5: Khai báo chỉ dẫn trang và code-behind

1 CÁC KHAI BÁO CHỈ DẪN TRANG

Khi tạo một trang, bạn có thể khai báo gán một số thuộc tính của Page Một trong số đó là một phần của chỉ dẫn @Page và @Import chỉ dẫn Mỗi loại chỉ dẫn này có một tập các thuộc tính mà sử dụng để điều khiển Page được khai báo trên cùng một dòng

<%@ Page Language="vb" ErrorPage="errors.aspx" %>

Bảng 4-1: Các thuộc tính khai báo trong @Page

-

Biến cố Giá trị Diễn giải

-

ClassName Tên Class Kế thừa một Classname hợp

lệ, ví dụ bạn có thể khai

báo sử dụng Class

CodePage Số hợp lệ Gán CodePage của phúc đáp

nếu nó khác với Web Server

Enable Boolean Cho phép Page truy cập

truy cập nhưng không thể

ErorrPage URL Trỏ đến URL khi không thể

kiểm soát ngoại lệ

Language VB,C#, ngôn ngữ hỗ trợ trong NET

Framework

-

Chỉ dẫn @Import

Chỉ dẫn này cho phép bạn khai báo thêm các không gian tên vào Page Khi khai báo chỉ dẫn

@Import, tất cả các Class của không gian tên sẽ có sẵn trong khi lập trình Để khai báo chỉ dẫn

@Import, bạn có thể sử dụng cú pháp sau:

<% @ Import namespace=”value” %>

Mỗi không gian tên bạn sử dụng một khai báo chỉ dẫn @Import Nếu có nhiều không gian tên cần thêm vào Page bạn sẽ sử dụng nhiều khai báo @Import

Tuy nhiên, bạn chỉ cần khai báo @Import với các không gian tên mà NET Framework tuỳ

chọn Điều này có nghĩa là những không gian tên sau đây tự động thêm vào trang

Trang 31

System.Web.SessionState

System.Web.UI.HtmlControls

2 KHAI BÁO VÀ SỬ DỤNG CODE BEHIND

Trong thế giới phức tạp của ứng dụng Web, nó thường khó khăn để tách ra nhiều phần của quá trình xử lý Khi viết một trang Web, chúng ta cũng phải quan tâm đến giao diện, nội dung, quá

trình xử lý, tốc độ truy cập và làm thế nào cho quá trình bảo trì đơn giản và dễ cập nhật,

Mô hình Web với ASP có nội dung và mã lẫn lộn Trong ASP.NET nội dung và mã tách ra thành hai phần, phần mã được gọi là Code-Behind

Mặc dù, nó yêu cầu nhà lập trình làm việc trên hai tập tin khác nhau, nhưng sự sắp xếp và phân chia ra thành hai phần như vậy giúp cho bạn có cái nhìn chi tiết, rõ ràng,

2.1 Công cụ viết Code-Behind

Giải pháp mà bạn sử dụng để lập trình mã tuỳ thuộc vào ứng dụng ASP.NET tạo ra như thế nào Để viết mã Code-Behind dưới dạng một lớp (Class) như ví dụ 4-1 (mycodebehind.vb), bạn có thể sử dụng trình soạn thảo Notepad, các công cụ cho phép soạn thao dạng văn bản, Visual Studio.NET

Ví dụ 4-1: Code-Behind là Class

‘ Khai báo sử dụng các không gian tên

Imports System

Imports System.Data

Imports System.Configuration

Imports System.Data.SqlClient

‘ Khai báo tên Class

Public Class MyCodeBehind

Inherits System.Web.UI.Page

Protected WithEvents lstUsers As System.Web.UI.WebControls.DropDownList

‘ Biến Page_Load của đối tượng Page

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

‘ Sử dụng thuộc tính IsPostBack của đối tượng Page

If Not Page.IsPostBack Then

Dim myConn As SqlConnection

Dim myCom As SqlCommand

Dim myDrd As SqlDataReader

‘ Khai báo phát biểu SQL dạng Select

Dim strSQL = "select * from tblUsers "

strSQL += "order by UserName ASC"

myConn = New SqlConnection(_

Ví dụ 4-2: Trang Code-Behind là aspx.vb

‘ Khai báo sử dụng các không gian tên

Imports System

2

Trang 32

Imports System.Data

Imports System.Configuration

Imports System.Data.SqlClient

‘ Khai báo tên Class

Public Class MyWebForm

Inherits System.Web.UI.Page

Protected WithEvents lstUsers As System.Web.UI.WebControls.DropDownList Web Form Designer Generated Code

‘ Biến Page_Load của đối tượng Page

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

‘ Sử dụng thuộc tính IsPostBack của đối tượng Page

If Not Page.IsPostBack Then

Dim myConn As SqlConnection

Dim myCom As SqlCommand

Dim myDrd As SqlDataReader

‘ Khai báo phát biểu SQL dạng Select

Dim strSQL = "select * from tblUsers "

strSQL += "order by UserName ASC"

‘ Đọc chuỗi kết nối cơ sở dữ liệu

myConn = New SqlConnection(_

Code-Behind là tập tin Class

Nếu bạn chọn cách viết Class để sử dụng trong trang ASPX, bạn có thể khai báo bằng cách sử dụng chỉ dẫn @Page như sau:

<%@Page Inherits=”Classname” Src=”Pathname”%>

Chẳng hạn, bạn có một Class với tên là MyCodeBehind.vb, bạn có thể khai báo và sử dụng trong trang MyCodeBehind.aspx như sau:

Trang 33

Khi triệu gọi trang mycodebehind.aspx trong thư mục ứng dụng WebApp, kết quả trả về như

hình 4-1

Hình 4-1: Kết quả triệu gọi mycodebehind.aspx

2.2.2 Code-Behind là trang aspx.vb

Nếu bạn sử dụng Visual Studio.NET để viết Code-Behind, trang MyWebForm.aspx sẽ tự động thêm khai báo chỉ dẫn sử dụng trang Code-Behind có tên MyWebForm.aspx.vb (chọn HTML trong góc nhìn thiết kế trang ASPX) như sau:

<%@ Page Language="vb"

AutoEventWireup="false"

Codebehind="MyWebForm.aspx.vb"

Inherits="WebApp.MyWebForm"%>

Lưu ý rằng, trong trường hợp phát biểu trên phát sinh lỗi, bạn có thể sử dụng các khai báo

như trong trường hợp trang Code-Behind là Class Ngoài ra, bạn phải định nghĩa thẻ <asp:> với điều khiển DropDownList để liệt kê danh sách người sử dụng trong tập tin MyWebForm.aspx như sau:

<asp:DropDownList id="lstUsers" DataTextField="UserName"

Trang 34

Bài 6: B iến, phát biểu điều khiển

1 KHAI BÁO VÀ SỬ DỤNG BIẾN

1.1 Khai báo biến

Bình thường khi bạn khai báo biến trong ASP, kiểu dữ liệu của biến không tường minh, nghĩa là không khai báo kiểu dữ liệu cho biến khi làm việc với ASP Nếu bạn lập trình trong trang

ASP.NET, khai báo biến phải có kiểu dữ liệu đính kèm

Dim strSQL As String

Dim li As Integer

Để tham khảo chi tiết về các khai báo và sử dụng biến trong NET, bạn có thể tham khảo phần này trong hai tập của cuốn sách có tên Lập trình Visual Basic.NET toàn tập

Trong phần này, chúng ta tìm hiểu một số phần khác biệt khi khai báo và sử dụng biến trong

trang ASP.NET Trước tiên, biến phải được khai báo trước khi sử dụng, bạn có thể ràng buộc khai báo và sử dụng chúng trước khi sử dụng trong trang ASP.NET bằng cách thêm chỉ mục sau vào đầu mỗi trang với giá trị là True hay False (mặc định là True)

<%@ Page Explicit=False%>

Chẳng hạn, chúng ta có thể không khai báo biến mà vẫn sử dụng biến đó trong trang

ASP.NET Để làm điều này, bạn cần khai báo chỉ mục Page với giá trị là False cho Explicit như ví

Trong ví dụ trên, trong biến cố Page_Load chúng ta sử dụng phép gán biến US với giá trị là

10, sau đó in chúng ra bằng đối tượng Response, kết quả trả về khi triệu gọi chúng trên trình duyệt

như hình 6-1

1

Trang 35

Hình 6-1: Sử dụng biến không cần khai báo

Nếu bạn không khai báo chỉ mục <%@ Page Explicit=False%> trong trang ASP.NET, những

biến sử dụng mà không khai báo sẽ phát sinh lỗi Điều này có nghĩa là phải khai báo tất cả các

biến trước khi sử dụng chúng, bởi vì mặc định của trang ASP.NET là True ứng với Explicit

Ví dụ 6-2: Khai báo biến trước khi sử dụng

Trong biến cố Page_Load chúng ta khai báo và gán biến US với giá trị là 100, sau đó in chúng

ra bằng đối tượng Response, kết quả trả về khi triệu gọi chúng trên trình duyệt như hình 6-2

Hình 6-2: Khai báo trước khi sử dụng biến

2

Trang 36

Ngoài cách sử dụng chỉ mục cho từng trang như trình bày trong ví dụ 6-1, khi muốn sử dụng biến mà không cần khai báo hay yêu cầu phải khai báo, bạn có thể khai báo chỉ mục, chúng ta khai

báo chỉ mục này trong tập tin web.config như sau:

<compilation explicit="false">

1.2 Chuyển đổi kiểu dữ liệu

Trong ASP, khi bạn muốn chuyển đổi kiểu dữ liệu, bạn sử dụng hàm như CInt, CDbl, như ví

Để tham khảo chi tiết về kiểu dữ liệu hay các phương thức chuyển đổi kiểu dữ liệu, bạn có thể

tìm đọc hai tập của cuốn sách “Lập trình ứng dụng bằng Visual Basic.NET toàn tập” của nhà sách

Minh Khai phát hành

Lưu ý rằng, trong ASP chúng ta sử dụng tù khoá Set cho các biến có kiểu dữ liệu đối tượng Trong ASP.NET từ khoá Set không được sử dụng Thay vào đó bạn khai báo từ khoá New để khởi tạo đối tượng Bạn có thể tham khảo phần này trong chương ASP.NET và DLL, Class và Web

Service

3

Trang 37

2 CÁC PHÁT BIỂU ĐIỀU KHIỂN

Bạn có thể sử dụng một trong 3 ngôn ngữ lập trình Visual Basic.NET (vb), JScript.NET (js) và ngôn ngữ C Sharp (cs) Trong ASP.NET mặc định là ngôn ngữ lập trình VB.NET

<compilation debug="false" explicit="true" defaultLanguage="vb">

Tuy nhiên, bạn cũng có thể chọn ngôn ngữ lập trình mặc định là một trong 3 ngôn ngữ trên

trong trang machine.config trong thư mục Microsoft.NET/Framework/v1.0.3705/CONFIG/ như sau:

<compiler language="js;jscript;javascript"

extension=".js" type="Microsoft.JScript

Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

</compilers>

2.1.

2.2.

Phát biểu điều khiển trong ASP.NET (VB)

Nếu bạn là người chưa làm việc với ngôn ngữ lập trình Visual Basic, bạn có thể dễ dàng làm quen với các phát biểu điều khiển của ngôn ngữ lập trình Visual Basic.NET Tuy nhiên, đối với những bạn đã làm quen với ngôn ngữ lập trình Visual Basic, bạn có thể ôn lại các phát biểu điều

khiển và các phép toán sẽ sử dụng thường xuyên trong quá trình xây dựng các ví dụ đính kèm

Phát biểu If Then

Phát biểu If Then End If cho phép bạn thực hiện khối phát biểu trong cấu trúc này khi điều kiện trong phát biểu If là đúng

If condition Then [statement]

4

Trang 38

Chẳng hạn, khối phát biểu có một phát biểu không khai báo xuống hàng, bạn không cần khai

báo phát biểu End If như ví dụ 6-7:

Ví dụ 6-7: Phát biểu If Then

Trong trường hợp này, bạn cần khai báo phát biểu End If như ví dụ 6-8

Ví dụ 6-8: Phát biểu If Then End If

2.3 Phát biểu điều khiển If Then Elseif Else End If

Một phát biểu đơn giản nhất bạn thuờng gặp là If Then ElseIf Else End If có cú pháp

¾ elseifcondition: Tương tự như condition

¾ elseifstatements: Phát biểu trong khối ElseIf Then khi elseifcondition có giá trị True, dĩ

nhiên elseifstatements cũng có thể có nhiều phát biểu điều khiển khác bên trong

¾ elsestatements: Phát biểu trong khối Else khi condition và elseifcondition có giá trị False, dĩ

nhiên elsestatements cũng có thể có nhiều phát biểu điều khiển khác bên trong

¾ End If: Phát biểu kết thúc khối If Then ElseIF Else End If

¾ Lưu ý rằng, bạn có thể không cần sử dụng phát biểu THEN sau IF

Bạn có thể tham khảo ví dụ 6-9 đơn giản như sau:

Ví dụ 6-9: Phát biểu If Then ElseIf Then Else End If

Trang 39

2.4 Phát biểu rẽ nhánh Select Case

Tương tự như phát biểu If Then Else End If, Select Case là phát biểu rẽ nhánh, trong trường hợp nào đó bạn cũng có thể chuyển từ phát biểu If Then Else End If sang phát biểu Select Case

Phát biểu Select Case thực hiện một trong nhóm phát biểu, phụ thuộc vào giá trị của biểu

thức với cú pháp:

Select [Case] testexpression

¾ expressionlist: Phát biểu yêu cầu nằm trong Case, trong Case có thể là mệnh đề hay biểu

thức, chúng cách nhau dấu "," Ngoài ra các biểu thức trong Case còn sử dụng từ khoá To để diễn giải khoản giá trị, Is là biểu thức so sánh

Ví dụ như:

Case 1 To 4,5,6,7 To 9,11,,13, Is > MaxNumber

¾ Khai báo trên là phát biểu Case hợp lệ

¾ statements: Một hay nhiều phát biểu trong Case

¾ elsestatements: Một hay nhiều phát biểu trong Case Else

¾ End Select: Kết thúc phát biểu Select Case

Bạn có thể tham khảo ví dụ Select Case như ví dụ 6-10 sau:

Ví dụ 6-10: Phát biểu Select Case

Dim Number As Integer =8

2.5 Phát biểu lặp Do Loop

Phát biểu Do Loop là phát biểu vòng lặp một khối trong lúc điều kiện là True hoặc cho đến khi điều kiện là True, phát biểu điều khiển này có cú pháp như sau:

6

Trang 40

Do {While | Until } condition

Loop {While | Until } condition

¾ While: Khai báo khi từ khoá Until được khai báo, vòng lặp thực hiện cho đến khi condition

có giá trị là False

¾ Until: Khai báo khi từ khoá While được khai báo, vòng lặp thực hiện cho đến khi condition

có giá trị là True

¾ condition: (tuỳ chọn) Là biểu thức luận lý có giá trị True hay False

¾ statements: (tuỳ chọn) một hay nhiều phát biểu lặp trong While hay Until khi condition là True

¾ Exit Do: Phát biểu cho phép chương trình thoát khỏi vòng Do Loop

Tham khảo ví dụ về Do Loop với hai dạng trên như ví dụ 6-11:

Ví dụ 6-11: Phát biểu Do Loop

Dim Check As Boolean = True

Dim Counter As Integer = 0

' Vòng lặp trong với biến Counter

' Kết thúc vòng Do Loop trong với biến Counter

Loop Until Check = False

' Kết thúc vòng Do Loop ngoài với biến Check

2.6 Phát biểu While End While

Phát biểu While End While, thực hiện nhiều phát biểu khi điều kiện condition có giá trị

True như cú pháp:

[statements]

¾ condition: Là biểu thức luận lý bắt buộc, có giá trị True hay False, nếu condition = Nothing

thì condition tương đương với False

¾ statements: Một hoặc nhiều phát biểu thực hiện trong khối While khi condition có giá trị True

¾ End While: Từ khoá kết thúc vòng lặp While End While

7

Ngày đăng: 12/07/2014, 09:20

HÌNH ẢNH LIÊN QUAN

Hình 2-16: Cấu hình myaspx trong IIS 5.0 - Giáo trình ASP. NET ppt
Hình 2 16: Cấu hình myaspx trong IIS 5.0 (Trang 13)
Hình 2-1: Kiến trúc .NET Framework - Giáo trình ASP. NET ppt
Hình 2 1: Kiến trúc .NET Framework (Trang 15)
Hình 2-2: Quá trình biên dịch trang ASP.NET - Giáo trình ASP. NET ppt
Hình 2 2: Quá trình biên dịch trang ASP.NET (Trang 17)
Hình 2-5: Cấu hình myaspx trong IIS 5.0 - Giáo trình ASP. NET ppt
Hình 2 5: Cấu hình myaspx trong IIS 5.0 (Trang 19)
Hình 9-1: Yêu cầu người sử dụng nhập liệu - Giáo trình ASP. NET ppt
Hình 9 1: Yêu cầu người sử dụng nhập liệu (Trang 71)
Hình 9-2: Thơng báo lỗi phát sinh do nhập sai dữ liệu - Giáo trình ASP. NET ppt
Hình 9 2: Thơng báo lỗi phát sinh do nhập sai dữ liệu (Trang 72)
Hình 9-3: Nhập dữ liệu hợp lệ - Giáo trình ASP. NET ppt
Hình 9 3: Nhập dữ liệu hợp lệ (Trang 72)
Hình 9-4: Lỗi phát sinh ứng với RequiredFieldValidator - Giáo trình ASP. NET ppt
Hình 9 4: Lỗi phát sinh ứng với RequiredFieldValidator (Trang 73)
Hình 9-5: Khơng trình bày lỗi phát sinh - Giáo trình ASP. NET ppt
Hình 9 5: Khơng trình bày lỗi phát sinh (Trang 74)
Hình 9-7: Màu của chuỗi trình bày lỗi phát sinh - Giáo trình ASP. NET ppt
Hình 9 7: Màu của chuỗi trình bày lỗi phát sinh (Trang 75)
Hình 9-6: Trình bày lỗi phát sinh - Giáo trình ASP. NET ppt
Hình 9 6: Trình bày lỗi phát sinh (Trang 75)
Hình 9-8: Cung cấp Password - Giáo trình ASP. NET ppt
Hình 9 8: Cung cấp Password (Trang 76)
Hình 9-15: Vị trí của tập tin WebUIValidation.js - Giáo trình ASP. NET ppt
Hình 9 15: Vị trí của tập tin WebUIValidation.js (Trang 83)
Hình 9-17: Thơng báo lỗi phía trình chủ - Giáo trình ASP. NET ppt
Hình 9 17: Thơng báo lỗi phía trình chủ (Trang 84)

TỪ KHÓA LIÊN QUAN

w