lẬp trÌnh webfit.mta.edu.vn/files/danhsach/bai4.pdfnhược điểm: cấu trúc của nó...

43
LẬP TRÌNH WEB Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT NGÔN NGỮ KỊCH BẢN PHÍA SERVER ASP.NET 1

Upload: others

Post on 23-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

LẬP TRÌNH WEB

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

NGÔN NGỮ KỊCH BẢN PHÍA SERVER ASP.NET

LẬP TRÌNH WEB

1

Page 2: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Một số ngôn ngữ kịch bản phía server

� Tổng quan về ngôn ngữ ASP.NET

� Nền tảng của ASP.NET

NỘI DUNG

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 3: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� PHP (Hypertext Preprocessor):

� PHP là một kịch bản trên phía trình chủ, có cácphiên bản trên hệ điều hành window và Linux.

� Có thể dễ dàng nhúng vào trang HTML.

PHP thường kết hợp với hệ quản trị CSDL

MỘT SỐ NGÔN NGỮ KỊCH BẢN PHÍA SERVER

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� PHP thường kết hợp với hệ quản trị CSDLMySQL phù hợp với các doanh nghiệp vừa vànhỏ.

Page 4: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� PHP (Hypertext Preprocessor):

� JSP là một kịch bản trên trình chủ với nềntảng dựa trên ngôn ngữ lập trình Java.

� ASP.Net Framework dựa trên nền tảng ngôn

MỘT SỐ NGÔN NGỮ KỊCH BẢN PHÍA SERVER

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

ngữ lập trình .NET.

Page 5: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Classic ASP - Active Server Pages� ASP (Active Server Page) được Microsoft giớithiệu vào năm 1996 và trở lên thông dụng từngày đó

ASP là công nghệ cho phép các kịch bản trong

TỔNG QUAN VỀ NGÔN NGỮ ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� ASP là công nghệ cho phép các kịch bản trongtrang web được thực hiện bởi một máy chủInternet.

� Các trang có đuôi mở rộng là .asp.

Page 6: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET:� ASP.NET là một thế hệ mới của ASP. Nó khôngtương thích với Classis ASP, nhưng ASP.NETcó thể bao gồm ASP.

Tăng hiệu quả lập trình thông qua các đặc điểm:

TỔNG QUAN VỀ NGÔN NGỮ ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� Tăng hiệu quả lập trình thông qua các đặc điểm:� Dễ dàng lập trình

� Lựa chọn ngôn ngữ đơn giản

� Hỗ trợ công cụ tuyệt vời

� Nhờ nền tảng vững vàng và tài nguyên phong phú của .NetFramework với hơn 5000 class (lớp) bao gồm XML, Data access,File upload…

Page 7: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET:� Tăng khả năng thực hiện và tính ổn định� Dễ dàng triển khai� ASP.Net cho phép ta tự động cập nhật các thànhphần đã biên dịch mà không cần phải khởi động lạicác Web Server.

TỔNG QUAN VỀ NGÔN NGỮ ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

các Web Server.

� ASP.NET Razor� Razor là một cú pháp đánh dấu mới và đơn giản đểnhúng code server vào các trang web ASP.NET,giống như ASP cổ điển.

� Razor có khả năng của ASP.NET truyền thống,nhưng là dễ học và sử dụng hơn.

Page 8: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET Server Technologies� Web Pages (with Razor syntax):

� Mô hình lập trình đơn giản nhất, và trang web sẽ là tập hợpnhiều trang web

� Sử dụng mã server-side ngay bên trong các trang web

� Không có vòng đời của trang như Web Forms, nó chỉ đơn giản là

TỔNG QUAN VỀ NGÔN NGỮ ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� Không có vòng đời của trang như Web Forms, nó chỉ đơn giản làxử lý mã lệnh từ trên xuống dưới

� MVC (Model View Controller):� Phát triển ứng dụng theo mô hình test-driven, và áp dụng mẫulập trình SoC (Separation of Concerns).

� Không cung cấp các điều khiển được đóng gói sẵn như server-side control của ASP.NET Web Froms, thay vào đó bạn bạn phảihiểu biết sâu hơn về HTML và giao thức HTTP.

Page 9: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET Server Technologies� Web Forms (traditional ASP.NET):

� Mô hình lập trình hướng sự kiện (event driven development)

� Cung cấp nhiều các server side controls, chúng đóng gói HTML, JavaScript và CSS bên trong.

� Cung cấp tính năng data binding nên bạn có thể dễ dàng phát

TỔNG QUAN VỀ NGÔN NGỮ ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� Cung cấp tính năng data binding nên bạn có thể dễ dàng phát triển các ứng dụng nặng về việc truy xuất và hiển thị dữ liệu.

� Dễ dàng quản lý trạng thái của các control nhờ vào cơ chế post-back và view state

� Nhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toàn và tách biệt lập trình viên khỏi kiến thức về CSS, HTML và mô hình lập trình state-less (không lưu giữ trạng thái của các điều khiển) truyền thống của lập trình web.

Page 10: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET Development Tools: � WebMatrix

� Visual Web Developer

� Visual Studio

� ASP.NET File Extensions

TỔNG QUAN VỀ NGÔN NGỮ ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� ASP.NET File Extensions� Classic ASP files có đuôi mở rộng .asp

� ASP.NET files có đuôi mở rộng .aspx

� ASP.NET files với Razor C# syntax có đuôi mở rộng.cshtml

� ASP.NET files với Razor VB syntax có đuôi mở rộng.vbhtml

Page 11: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

.NET FRAMEWORK

� .NET Framework làcơ sở hạ tầng bằngviệc cung cấp chongười dùng cáchthức sử dụng đangôn ngữ lập.

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

ngôn ngữ lập.

� ASP.NET là mộtphần khóa của.NET Framework,và được sử dụngđể tạo server - sidescripts cho các ứngdụng web.

Page 12: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

BIÊN DỊCH TRANG ASPX

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 13: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Web Page Designing� Cung cấp bộ thiết kế theohiệu ứng “What you see isWhat you get”

Rễ cấu hình

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� Rễ cấu hình

� Tự động biên dịch các file

� Môi trường phát triển weblinh hoạt.

� Nhiều đối tượng vàphương thức mới.

Page 14: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Các công cụ hỗ trợ�Code Editor�Toolbox�Class views�Object Browse

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

�Object Browse�CSS styles�Frameset

Page 15: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Các công cụ hỗ trợ

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 16: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Cấu hình ứng dụng: Trong Visual Studio chạy Web site trên một trong 3 cách sau:� Trên chính máy tính của bạn (the local file system)

Một HTTP server chứa IIS và các thành phần

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� Một HTTP server chứa IIS và các thành phần có liên quan

� FTP site (a remote file server)

Page 17: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Cấu hình ứng dụng với IIS (Internet InformationServices): IIS là một Web Server được phát triểnbởi Microsoft để tạo host cho các websites trênmột server đơn.

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 18: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Cấu hình ứng dụng với IIS (InternetInformation Services): IIS là một Web Serverđược phát triển bởi Microsoft để tạo host chocác websites trên một server đơn.

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 19: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Cấu hình ứng dụng với IIS:

+ Mở IIS: �Start\Settings\ControlPanel \ Administratrivetools\IIS

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

tools\IIS� Right click DefaultWeb site

+ Làm theo sự chỉ dẫn� Chọn thư mục gốcứng dụng.�Chọn trang mặc định�Tạo thư mục ảo.

Page 20: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Tạo ứng dụng:� Tạo website

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 21: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Tạo ứng dụng:� Default Project files:

� AssemblyInfo.cs: Là file chứa thông tinvề Assembly, Version, Commpanyname

� Projectname.vsdisco: Là file XML chứa

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

� Projectname.vsdisco: Là file XML chứacác đường link (URL) với XML WebService. Trang này không nhìn thấyđược trong Solution Explore

� Default.aspx: Chứa design interface vàclient side code

� Default.aspx.cs: Chứa Server – sidecode

Page 22: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Tạo ứng dụng:� Optional Project files:

� Global.asax : Là file được tạo ở thưmục gốc của Project, chứa các sự kiệncủa ứng dụng web. File không đượctạo khi trong ứng dụng không chứa các

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

tạo khi trong ứng dụng không chứa cáchandlers về Application và Session

� Web.Config : Là file XML chứa cácthông tin cần thiết cho Web Server, nhưAuthentication, Security,…

� StyleSheet.css : là file cascading stylesheet, cung cấp thông tin về các stylecho web pages

Page 23: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Tạo web pages:

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 24: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG

� Triển khai ứng dụng (Puslish Web Site):� Biên dịch ứng dụng và copy

website đến một thư mục.

� Các tập tin code behide được

biên dịch thành file .dll

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

biên dịch thành file .dll

� Thao tác: � Right click , chọn Puslish Web site

� Chọn thư mục sẽ chứa website

publish đến

Page 25: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET Web Page Code Model:�� Một trang Web bao gồm hai phần:Một trang Web bao gồm hai phần:

�� MarkUp Code: Phần layout MarkUp Code: Phần layout

�� Programming code: Điều khiển sự tương Programming code: Điều khiển sự tương

tác của người sử dụng và một số sự kiệntác của người sử dụng và một số sự kiện

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

tác của người sử dụng và một số sự kiệntác của người sử dụng và một số sự kiện

� WebWeb PagePage modelmodel rara làmlàm haihai dạngdạng mômô

hìnhhình::

�� Single File PageSingle File Page

�� Code Behind Page Code Behind Page

Page 26: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET Web Page Code Model:� Single File Page Model::

� Ưu điểm:

• Dễ bảo trì khi MarkUp code và Programming trên cùng

một file.

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

một file.

• Dễ triển khai

• Dễ đổi tên

� Nhược điểm:

• Single file page không được tạo trực tiếp từ VS IDE

• Có nhiều hạn chế trong việc hỗ trợ Coding

• Các Event Handler không được tự động tạo khi

double click trên các điều khiển sự kiện.

Page 27: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� ASP.NET Web Page Code Model:� Code Behind Page Model::

� MarkUp file có đuôi mở rộng .aspx chứa các markUp code.

� Class file là một file Code Behind chứa logic lập trình, có

đuôi mở rộng .aspx.cs (hoặc .aspx.vb,…).

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

đuôi mở rộng .aspx.cs (hoặc .aspx.vb,…).

Page 28: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Class “Page” : Mỗi trang web tạo ra được dẫn xuất từ lớp Page thuộc namespace "System.Web.UI”::

� Thuộc tính: Page.Title = "Login"

NỀN TẢNG CỦA ASP.NET

Thuộc tính Mô tả

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

ID Chỉ định hoặc truy xuất đối tượng (thể hiện) của lớpPage. Định danh mặc định là ‘_Page’

Title Chỉ định hoặc truy xuất tiêu đề của trang.

Server Truy xuất đến thể hiện của lớp Server (LớpHttpServerUtility)

Page 29: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Class “Page” : Mỗi trang web tạo ra được dẫn xuất từ lớp Page thuộc namespace "System.Web.UI”::

� Thuộc tính: Page.Title = "Login"

NỀN TẢNG CỦA ASP.NET

Thuộc tính Mô tả

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Session Truy xuất đến thể hiện của lớp Session

Controls Truy xuất đến thể hiện của lớp ControlCollection chobất kỳ điều khiển server nào.

ErrorPage Chỉ định hoặc truy xuất đến địa chỉ trang thông báo lốikhi có ngoại lệ xuất hiện trên trang.

Page 30: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Class “Page” :� Methods: Cách sử dụng thuộc tính như sau:

IF (Page.HasControls())

{ Response.Write (“Wellcome“);}

NỀN TẢNG CỦA ASP.NET

Thuộc tính Mô tả

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Thuộc tính Mô tả

HasControls Kiểm tra xem có tồn tại điều khiển Server control hay không.

LoadControl Load một thể hiện của lớp Control.

GetValidators Trả về một tập các đối tượng Validation được chỉ định trongnhóm Validation.

MapPath Trả về đường dẫn mà ánh xạ đến đường dẫn ảo

Validate Chỉ dẫn các điều khiển hợp lệ tới thông tin hợp lệ được gáncho chúng.

Page 31: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Partial Class trong Code Behind Model : File Code Behind tự động tạo Partial Class. Từ khóa Partial chỉ định lớp này không chứa đầy đủ các thành phần mà nó được kế thừa từ lớp Page.

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 32: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Partial Class trong Code Behind Model : File Code Behind tự động tạo Partial Class. Từ khóa Partial chỉ định lớp này không chứa đầy đủ các thành phần mà nó được kế thừa từ lớp Page.

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 33: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 34: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Các chỉ dẫn (Directives): Các chỉ dẫn là các câu lệnhmô tả ứng dụng ASP.NET được biên dịch như thế nào.Các chỉ dẫn được bao trong cặp <% %> và thuộc file .aspx.

NỀN TẢNG CỦA ASP.NET

Chỉ dẫn Mô tả Ví dụ

@Page Định nghĩa các thuộc tính cho Web page

<%@ Page Language="C#"

Title=“My web Page" %>

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

page Title=“My web Page" %>

@Import Import một không gian miền vào trang. Cho phép sử dụng tấ cả các Classes và interfaces của không gian miền này.

<%@ Import

Namespace="System.Data

" %>

@Assembly Liên kết đến một Assemply cho trang hoặc điều khiển nào đó.

<%@ Assembly

Name=“MyAssembly" %>

@Master Định nghĩa các thuộc tính của trang Master.

<%@ Master

Language="C#" %>

@Reference Tham chiếu đến một trang khác. <%@ Reference

Page="~/Home.aspx" %>

Page 35: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Các chỉ dẫn (Directives):� Chỉ dẫn Page:

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 36: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Các chỉ dẫn (Directives):� Chỉ dẫn Chỉ dẫn @Import: Là chỉ dẫn cho phép Include vào

trang web các chức năng khác nhau được khai báo trong mộtnamespace khác.

<%@ Import namespace =“<value>” %>

Ví dụ: <%@ Import Namespace="System.Data" %>

NỀN TẢNG CỦA ASP.NET

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Ví dụ: <%@ Import Namespace="System.Data" %>

Page 37: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Điều khiển sự kiện trong Web Pages:

NỀN TẢNG CỦA ASP.NET

� Sự kiện (Event) là mộthành động được nổ trongkhi ứng dụng đang chạy.

� Mỗi sự kiện được điều

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

khiển bởi một khối codeđược gọi là Event Handler.

� ASP.NET là một mô hìnhlập trình sự kiện bởi vì mọithứ xuất hiện trên trangweb là sự đáp lại của mộtsố sự kiện.

Page 38: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Điều khiển sự kiện trong Web Pages:

NỀN TẢNG CỦA ASP.NET

� Automatic Event Handling:Mỗi một Web page có mộtvòng đời, mỗi bước trongvòng đời xuất hiện một sựkiện. Các sự kiện được xử

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

kiện. Các sự kiện được xửlý tự động bởi các EventHandler tương ứng.

� Init

� Load

� PreRender

� UnLoad

Page 39: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Điều khiển sự kiện trong Web Pages:

NỀN TẢNG CỦA ASP.NET

� Page_Load là sự kiệnđược kích nổ bất cứ khinào Web Page đượcRequest. Khi một người

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Request. Khi một ngườidùng Request một trangWeb thì các biến và cácđiều khiển trong trangđược khởi tạo và sau đótrang đó được load lên.

Page 40: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� POSTBACK

NỀN TẢNG CỦA ASP.NET

� Trong tiến trình xử lý PostBack là thông tin được submittừ Browse đến Server.

� Khi người dùng tương tác với Web Page bằng cách phátsinh một sự kiện thì trang đó được gửi quay trở lại

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Server. Server xử lý code hiện tại trong các eventhandlers và sau đó trang này được tạo lại. Như vậy trangnày lại trải qua một vòng đời mới với các sự kiện Init() vàLoad ()

Page 41: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Thuộc tính IsPostBack của đối tượng Page:

NỀN TẢNG CỦA ASP.NET

� Thuộc tính IsPostBack dùng để kiểm tra Web Page đượcRequest lần đầu tiên hay là kết quả của một PostBack.Nếu trang đó được Request lần đầu tiên thì thuộc tínhIsPostBack nhận giá trị false. Nếu trang đó được submitquay trở lại từ Server thì thuộc tính IsPostBack nhận giá

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

quay trở lại từ Server thì thuộc tính IsPostBack nhận giátrị True.protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

txtFullName.Focus();

ShipDate.Text = Convert.ToString(DateTime.Now);

...

}

}

Page 42: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

THẢO LUẬN – CÂU HỎI

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

Page 43: LẬP TRÌNH WEBfit.mta.edu.vn/files/DanhSach/Bai4.pdfNhược điểm: Cấu trúc của nó khiến nó khó có thể được áp dụng unit-test hoàn toànvà tách biệt lập

� Thực hành các ví dụ

� Tiếp tục thiết kế giao diện cho bài tập lớn.

� Tạo một Project cho bài tập lớn đượcphân công.

BÀI TẬP

Biên soạn: Chu Thị Hường – Bộ môn HTTT – Khoa CNTT

phân công.