Chương 1 Tổng Quan Về ASP.Net

1. Giới thiệu về ASP.Net va(cid:18) .Net Framework

2. Tạo ứng dụng Web với Microsoft Visual 2005

3. Các thành phần giao diện trên VS .Net

11

http://www.thayphet.net

Written by: Dương Thành Phết

4. Triển khai ứng dụng web

1. Giới thiệu về ASP.Net va(cid:28) .Net Framework

1.1 Tìm hiểu về ASP.Net

1.2 Những ưu ñiểm của ASP.Net

1.3 Quá trình xử lý tập tin .Aspx

22

http://www.thayphet.net

Written by: Dương Thành Phết

1.4 Tìm hiểu về .Net Phatform và .Net Framework

1.1 Tìm hiểu về ASP.Net

33

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:1)Cuối thập niên 90, ASP (Active Server Page) ñã ñược nhiều lập trình viên lựa chọn ñể xây dựng và phát triển ứng dụng web ñộng trên máy chủ hệ ñiều hành Windows. (cid:1)ASP thể hiện những ưu ñiểm với mô hình lập trình thủ tượng: ADO tục ñơn giản, sử dụng hiệu quả các ñối (ActiveX Data Object) - Xử lý dữ liệu, FSO (File System Object) - Làm việc với hệ thống tập tin… ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript (cid:2) ðược yêu thích trong thời gian dài

44

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:1) Tuy nhiên, ASP còn tồn ñọng một số khó khăn như: (cid:3) Code ASP và HTML lẫn lộn, viết code khó khăn, (cid:3) Hạn chế khả năng sử dụng lại code. (cid:3) Triển khai không ñược biên dịch dễ mất code (cid:3) Hạn chế về tốc ñộ, quá trình Postback khó khăn, … (cid:1) Năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web mới là ASP.Net. (cid:1) Với ASP.Net, không những không cần phải biết các tag HTML, thiết kế web, mà còn hỗ trợ mạnh lập trình hướng ñối tượng trong quá trình xây dựng và phát triển ứng dụng Web.

55

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:1) ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server dựa trên nền tảng của Microsoft .Net Framework. (cid:1) Mã lệnh ở phía server sẽ ñược biên dịch và thi hành tại Web Server kết quả ñược chuyển sang HTML/ JavaScript/ CSS và trả về cho Client. (cid:1)Tất cả các xử lý lệnh ASP, ASP.Net ñều ñược thực hiện tại Server và do ñó, gọi là kỹ thuật lập trình ở phía server.

1.2 Những ưu ñiểm của ASP.Net

66

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:1)ASP.Net cho phép lựa chọn một trong các ngôn ngữ lập trình : Visual Basic.Net, J#, C#,… (cid:1)Trang ASP.Net ñược biên dịch thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt ñáng kể so với kỹ thuật thông dịch của ASP.

77

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:1)ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và ña dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, … (cid:1)ASPX và ASP cùng hoạt ñộng trong 1 ứng dụng. (cid:1)ASP.Net sử dụng phong cách lập trình Code behide(Tách code riêng, giao diện riêng) Dễ ñọc, dễ quản lý và bảo trì. (cid:1)Kiến trúc lập trình giống ứng dụng trên Windows.

Không cần lock, không cần ñăng ký DLL

Cho phép nhiều hình thức cấu hình ứng dụng

(cid:1)Hỗ trợ quản lý trạng thái của các control (cid:1)Tự ñộng phát sinh mã HTML cho các Server control tương ứng với từng loại Browser (cid:1)Triển khai cài ñặt

Quản lý session trên nhiều Server, không cần Cookies

88

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:1)Hỗ trợ quản lý ứng dụng ở mức toàn cục Global.aspx có nhiều sự kiện hơn

1.3 Quá trình xử lý tập tin .Aspx

99

http://www.thayphet.net

Written by: Dương Thành Phết

Khi Web server nhận ñược yêu cầu từ phía client, nó sẽ tìm kiếm tập tin ñược yêu cầu thông qua chuỗi URL ñược gởi về, sau ñó, tiến hành xử lý theo sơ ñồ sau

1.4 Tìm hiểu về .Net Phatform và .Net Framework

1010

http://www.thayphet.net

Written by: Dương Thành Phết

.Net Phatform Bao gồm .Net Framework và những công cụ ñược dùng ñể xây dựng, phát triển ứng dụng và dịch vụ. ASP.Net.

.Net Framework - Bộ thư viện các lớp ñối tượng

1111

http://www.thayphet.net

Written by: Dương Thành Phết

Kiến trúc .Net Framework

Framework chính là một tập hợp hay thư viện các lớp ñối tượng hỗ trợ người lập trình khi xây dựng ứng dụng như Microsoft Foundation Class(MFC) là bộ thư viện trong Visual C++, Java Foundation Class(JFC) là bộ thư viện trong Java. .NET Framework là bộ thư viện dành cho các lập trình viên .NET.

Với hơn 5000 lớp ñối tượng ñể gọi thực hiện ñủ các loại dịch vụ từ hệ ñiều hành, chúng ta có thể xây dựng ứng dụng bằng Notepad. Hay với phần mềm Visual Studio.NET với giao diện trực quan

1212

http://www.thayphet.net

Written by: Dương Thành Phết

Nếu không có.NET Framework,Visual Studio.NET chỉ là vỏ bọc! Nhưng nếu không có Visual Studio.NET, công việc lập trình .NET cũng lắm bước gian nan!

Hệ ðiều Hành - Operating System

Với vai trò quản lý việc xây dựng và thi hành ứng tượng dụng .NET Framework cung cấp các lớp ñối (Class) ñể thi hành các chức năng. Tuy nhiên ñược "hưởng ứng" hay không tùy thuộc khả năng của HðH.

Với chức năng ñơn giản như Messagebox sẽ ñược .NET Framework sử dụng hàm API của Windows. Chức năng phức tạp như sử dụng các COMponent sẽ yêu cầu phải cài ñặt Microsoft Transaction Server (MTS) hay các chức năng trên Web cần phải cài ñặt Internet Information Server (IIS).

1313

http://www.thayphet.net

Written by: Dương Thành Phết

Như vậy chọn HðH ñể sử dụng .NET Framework là quan trọng. (Windows XP, 2003 Server, Vista sẽ ñơn giản và tiện dụng trong khi lập trình)

Common Language Runtime - CLR

Là thành phần "kết nối" giữa các phần khác trong .NET Framework với hệ ñiều hành. CLR giữ vai trò quản lý việc thi hành các ứng dụng viết bằng .NET.

CLR sẽ thông dịch các lời gọi từ chương trình cho Windows thi hành, ñảm bảo ứng dụng không chiếm dụng và sử dụng tràn lan tài nguyên của hệ thống, không cho phép các lệnh "nguy hiểm" ñược thi hành. Các chức năng này ñược thực thi bởi các thành phần bên trong CLR như: Class loader, Just In Time compiler, COM marshaller, Security engine,…

1414

http://www.thayphet.net

Written by: Dương Thành Phết

Trong các bản mới (XP.NET,2003, Vista) CLR ñược gắn kèm với hệ ñiều hành. ðiều này ñảm bảo ứng dụng viết ra sẽ chạy mà không cần cài ñặt.

Base Class Library – Thư viện các lớp cơ sở

ðây là thư viện các lớp cơ bản nhất, ñược dùng trong khi lập trình hay bản thân những người xây dựng .NET Framework cũng phải dùng nó ñể xây dựng các lớp cao hơn. Các lớp trong thư viện này là String, Integer, … Ado.Net và Xml

1515

http://www.thayphet.net

Written by: Dương Thành Phết

Bộ thư viện này gồm các lớp dùng ñể xử lý dữ liệu. ADO.NET thay thế ADO. Các lớp ñối tượng XML ñược cung cấp ñể bạn xử lý các dữ liệu theo ñịnh dạng mới: XML. Các ví dụ cho bộ thư viện này là SqlDataAdapter, SqlCommand, DataSet, XMLReader, XMLWriter,…

Asp.Net

Bộ thư viện các lớp ñối tượng dùng trong việc xây

dựng các ứng dụng Web.

Ứng dụng web xây dựng bằng ASP.NET tận dụng

ñược toàn bộ khả năng của .NET Framework.

Một "phong cách" lập trình mới code behind. Sự xuất hiện của ASP.NET làm cân xứng giữa

quá trình xây dựng ứng dụng trên Windows và Web.

1616

http://www.thayphet.net

Written by: Dương Thành Phết

ASP.NET cung cấp một bộ các Server Control ñể lập trình viên bắt sự kiện và xử lý dữ liệu của ứng dụng như ñang làm việc với ứng dụng Windows. Cho phép chúng chuyển ứng dụng chạy trên Windows thành một ứng dụng Web khá dễ dàng. …

Window form

Bộ thư viện về Window form gồm các lớp ñối tượng dành cho việc xây dựng các ứng dụng Windows. Việc xây dựng ứng dụng loại này vẫn ñược hỗ trợ tốt từ trước tới nay bởi các công cụ và ngôn ngữ lập trình của Microsoft.

1717

http://www.thayphet.net

Written by: Dương Thành Phết

Giờ ñây, ứng dụng chỉ chạy trên Windows sẽ có thể làm việc với ứng dụng Web dựa vào Web service. Ví dụ về các lớp trong thư viện này là: Form, User Control,…

Web services

Web services là các dịch vụ ñược cung cấp qua là Web service Web (hay Internet). Dịch vụ ñược coi không nhằm vào người dùng mà nhằm vào người xây dựng phần mềm.

Web service có thể dùng ñể cung cấp các dữ liệu

hay một chức năng tính toán.

Web service ñược cung cấp dựa vào ASP.NET và

1818

http://www.thayphet.net

Written by: Dương Thành Phết

sự hỗ trợ từ phía HðH của Internet Information Server.

Ví dụ, công ty du lịch ñang sử dụng một hệ thống phần mềm ñể ghi nhận thông tin về khách du lịch ñăng ký ñi các tour. ðể thực hiện việc ñặt phòng tại ñịa ñiểm du lịch, công ty cần biết thông tin về phòng trống tại các khách sạn.

Khách sạn có thể cung cấp 1 Web service ñể cho biết thông tin về các phòng trống tại 1 thời ñiểm. Dựa vào ñó, phần mềm sẽ biết liệu có ñủ chỗ ñể ñặt phòng cho khách du lịch không? Nếu ñủ, phần mềm lại dùng 1 Web service khác cung cấp chức năng ñặt phòng.

1919

http://www.thayphet.net

Written by: Dương Thành Phết

ðiểm lợi của Web service là không cần liên lạc với khách sạn ñể hỏi thông tin phòng rồi sau ñó lại xác ñịnh loại phòng nào cần ñặt, số lượng ñặt bao nhiêu, rồi lại liên lạc lại với khách sạn ñể ñặt phòng.

Phân nhóm các lớp ñối tượng theo loại

Namespace là tên gọi một nhóm các lớp ñối

tượng phục vụ cho một mục ñích.

Chẳng hạn, các lớp ñối tượng xử lý dữ liệu sẽ ñặt trong một namespace là Data. Các lớp ñối tượng dành cho vẽ ñặt trong namespace tên là Drawing.

Một namespace có thể là con của một namespace

2020

lớn. Namespace lớn nhất là System.

Hệ thống tên miền (Namespace)

http://www.thayphet.net

Written by: Dương Thành Phết

Lợi ñiểm của namespace là phân nhóm các lớp

ñối tượng, giúp dễ nhận biết và sử dụng.

Ngoài ra, namespace tránh việc các lớp ñối tượng có tên trùng với nhau không sử dụng ñược. .NET Framework cho phép chúng ta tạo ra các lớp ñối tượng và các namespace của riêng mình.

Với hơn 5000 tên có sẵn. Namespace cho phép sử dụng 1 tên ñầy ñủ ñể nói ñến 1 lớp ñối tượng. Ví dụ, dùng lớp WebControls, chúng ta có thể dùng tên tắt là WebControls hay tên ñầy ñủ là:

2121

http://www.thayphet.net

Written by: Dương Thành Phết

System.Web.UI.WebControls.

ðặc ñiểm của bộ thư viện các ñối tượng .NET Framework là sự trải rộng ñể hỗ trợ tất cả các ngôn ngữ lập trình .NET.

ðiều này sẽ giúp những người mới bắt ñầu ít bận tâm hơn trong việc lựa chọn ngôn ngữ lập trình cho mình vì tất cả các ngôn ngữ ñều mạnh ngang nhau.

Cũng bằng cách sử dụng các lớp ñối tượng ñể lập

2222

http://www.thayphet.net

Written by: Dương Thành Phết

xây dựng ứng dụng, .NET Framework buộc người trình phải sử dụng kỹ thuật lập trình hướng ñối tượng

2. Tạo ứng dụng web với MS Visual 2005

2.1. Khởi ñộng MS Visual Studio .Net

2323

http://www.thayphet.net

Written by: Dương Thành Phết

2.2. Tạo ứng dụng Web

2.1. Khởi ñộng MS Visual Studio .Net

2424

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:2) Start (cid:2) Programs (cid:2) Microsoft Visual Studio 2005 (cid:2) Microsoft Visual Studio 2005

2.2. Tạo ứng dụng Web

2525

http://www.thayphet.net

Written by: Dương Thành Phết

Từ menu File (cid:2) New (cid:2) Website (cid:2)Chọn ASP.Net Website (cid:2)Chọn vị trí lưu trữ - Location (D:\Wellcom) (cid:2)Chọn ngôn ngữ lập trình (C#) (cid:2)Chọn Ok

Kết quả:

Cửa sổ Solution Explorer

2626

http://www.thayphet.net

Written by: Dương Thành Phết

Trang Default.aspx (Design)

Trang Default.aspx (Source)

2727

http://www.thayphet.net

Written by: Dương Thành Phết

Trang Default.aspx.cs

2.3 Bổ sung ñiều khiển vào trang:

•Chọn trang Default.aspx ở chế ñộ Design •Nhập dòng văn bản: “Chào mừng các bạn ñến vời ASP.Net” •Thêm 2 ñiều khiển Label ñặt tên là : lbNgay, lbThoigian.

2828

http://www.thayphet.net

Written by: Dương Thành Phết

Chuyển sang trang code Defaulr.aspx.cs (Double click vào trang ñang thiết kế) Nhập code cho sự kiện Page Load:

Lưu ý: Phải lưu tập tin với tùy chọn Save with Encoding…

2929

http://www.thayphet.net

Written by: Dương Thành Phết

2.4 Thi hành ứng dụng :

Kiểm lỗi : Menu Build (cid:2) Chọn Build Web Site

3030

http://www.thayphet.net

Written by: Dương Thành Phết

Chấp nhận bật chế ñộ debug cho Website

3131

http://www.thayphet.net

Written by: Dương Thành Phết

Chạy chương trình (không debug):Ctrl + F5 Chạy chương trình (có debug): F5

2.5 Phân loại tập tin trong ASP.Net:

Diễn giải

.asax

Tập tin quản lý các sự kiện của ứng dụng (application), session, và các sự kiện khi có các yêu cầu tới trang web.

.ascx

Các ñiều khiển do người dùng tự tạo ñược lưu trữ với phần mở rộng là ascx (UserControl).

.asmx

Tập tin Web Service của ứng dụng ASP.Net

.aspx

Phần mở rộng của trang ASP.Net

.config

Tập tin cấu hình ứng dụng theo ñịnh dạng XML. Web.config chứa hầu hết các cấu hình của ứng dụng

.cs

Tập tin mã nguồn viết theo ngôn ngữ C#

.js

Tập tin mã nguồn của Jscript

3232

http://www.thayphet.net

Written by: Dương Thành Phết

3. Các thành phần giao diện trên MS Visual .Net

4.1 Solution Explorer

4.2 Property Window

4.3 Toolbox

3333

http://www.thayphet.net

Written by: Dương Thành Phết

4.4 Document Outline Window

3.1 Solution Explorer

Hiển thị cửa số Solution Explorer:

3434

http://www.thayphet.net

Written by: Dương Thành Phết

Menu View | Solution Explorer ðây là cửa số quản lý các "tài nguyên" có trong ứng dụng. Thông qua cửa sổ này, chúng ta có thể thực hiện các chức năng như: Tạo thư mục, sao chép, cắt, dán như trong Windows Explorer. Và thêm thành phần mới cho ứng dụng:

(cid:1)Web Form: Thêm trang Web (cid:1)Class: Thêm lớp ñối tượng (cid:1)Module Web Form: Thêm thư viện (cid:1)Web User Control: Thêm ñiều khiển người dùng (cid:1) …

3535

http://www.thayphet.net

Written by: Dương Thành Phết

Thêm thành phần mới cho ứng dụng: Click phải Add | Add New Item…

3636

http://www.thayphet.net

Written by: Dương Thành Phết

Xác ñịnh Project khởi ñộng(trong trường hợp Solution có nhiều Project): Click phải chuột (cid:2) chọn Set as StartUp Project.

3737

http://www.thayphet.net

Written by: Dương Thành Phết

Xác ñịnh trang web khởi ñộng cho ứng dụng: Chọn trang cần khởi ñộng (cid:2) Click phải chuột (cid:2) Chọn Set As Start Page.

3.2 Property Window

Hiển thị cửa số Properties Window:

Menu View (cid:2)| Properties Window. Dùng ñể thiết lập thuộc tính cho trang web và

3838

http://www.thayphet.net

Written by: Dương Thành Phết

các ñiều khiển có trong trang web.

3.3 Toolbox

Hiển thị Toolbox:

3939

http://www.thayphet.net

Written by: Dương Thành Phết

Menu View (cid:2) Toolbox Dùng ñể tạo các ñiều khiển trân trang.

3.4 Document Outline Window

Hiển thị cửa sổ Document Outline:

4040

http://www.thayphet.net

Written by: Dương Thành Phết

Menu View / Other Windows / Document Outline. Cửa sổ này hiển thị các thành phần của trang web theo tổ chức cây (cid:2) rất dễ quản lý và thao tác với các ñối tượng có trong trang Web.

4. Triển khai ứng dụng web(IIS)

4.1 Phần mềm Web Server(IIS)

4141

http://www.thayphet.net

Written by: Dương Thành Phết

4.2 Triển khai ứng dụng web

4.1 Phần mềm Web Server(IIS)

a. Giới thiệu về phần mềm Web Server(IIS)

Internet Information Services (IIS) là phần mềm

Web Server của Microsot dành cho HðH Windows

IIS có thể ñược sử dụng như 1 Web server, kết hợp với ASP, ASP.NET ñể xây dựng các ứng dụng Web tận dụng các ñiểm mạnh của Server-side Script, COM component,…theo mô hình Client/Server.

4242

http://www.thayphet.net

Written by: Dương Thành Phết

IIS có rất nhiều phiên bản: (cid:1)Windows 2000 tích hợp IIS 5.0. (cid:1)Windows XP tích hợp IIS 5.5 (cid:1)Windows XP tích hợp IIS 6 hỗ trợ các tính năng dành cho .NET và Web Service. (cid:1)Windows Vista tích hợp IIS 7.0

b. Cài ñặt IIS (cid:4) Trên Windows 2000/XP

Bước 1. Chọn Control Panel | Add/Remove programs. Bước 2. Add/Remove Windows Components. Bước 3. ðánh dấu mục Internet Information Services (IIS). Bước 4. Chọn nút Next ñể cài ñặt.

4343

http://www.thayphet.net

Written by: Dương Thành Phết

4444

http://www.thayphet.net

Written by: Dương Thành Phết

Sau khi cài ñặt IIS, thư mục InetPub ñược tạo ra trong C: và chứa thư mục con wwwroot. ðể kiểm tra cài ñặt: Khởi ñộng trình duyệt truy cập ñịa chỉ : http://localhost hoặc http://127.0.0.1

Bước 1: Start (cid:5) Settings (cid:5) Control Panel Bước 2: Classic View (cid:5) Chọn Programs and features Bước 3: Turn Windows features on or off Bước 4: ðánh dấu mục Internet Information Services (IIS) Bước 5: Chọn nút OK ñể cài ñặt.

4545

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:4) Trên Windows Vista/ Windows 7

4646

http://www.thayphet.net

Written by: Dương Thành Phết

ðể kiểm tra cài ñặt: Khởi ñộng trình duyệt truy cập ñịa chỉ : http://localhost hoặc http://127.0.0.1

c.Cấu hình Web Server

(cid:4) Trên Windows 2000/XP

4747

http://www.thayphet.net

Written by: Dương Thành Phết

Start (cid:2) Settings (cid:2) Control Panel (cid:2) Administratrive tools (cid:2) Internet Infomtic Services (cid:2) Click phải Default Web site

4848

http://www.thayphet.net

Written by: Dương Thành Phết

Qui ñịnh thư mục gốc ứng dụng: Home Directory ðể thực thi ứng dụng từ ñịa chỉ http://localhost thì phải lưu ứng dụng tại thư mục này Quy ñịnh trang chủ mặc ñịnh: Documents Nghĩa là trang mặc ñịnh ñược mở khi truy cập ñịa chỉ: http://localhost

4949

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:4) Trên Windows Vista/ Windows 7 (cid:2) Start (cid:2) Settings (cid:2) Control Panel (cid:2) Administratrive tools (cid:2) IIS Manager

5050

http://www.thayphet.net

Written by: Dương Thành Phết

Quy ñịnh thư mục gốc ứng dụng: Directory Browsing Quy ñịnh trang chủ mặc ñịnh: Default Document

d. Tạo thư mục ảo – Virtual Directory: ðể truy cập website lưu ở vị trí khác cần phải ánh xạ thư mục ảo. (cid:4) Trên Windows 2000/XP

(cid:2)(cid:2)(cid:2)(cid:2) Next

Khai báo nhãn thư mục ảo (Myweb)

Khai báo thư mục vật lý (D:\MyWebsite)

Click phải Default Website(cid:2)New/ Virtual Directory

5151

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:2)Next (cid:2) Finish

Tên ánh xạ

Thư mục vật lý

(cid:4) Trên Windows Vista/ Windows 7 Click phải: Default Website(cid:2)Add Application

5252

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:2)OK

Từ IIS Manager: Click phải trang cần xem (Default.aspx) (cid:2) Browse

Hoặc Từ trình duyệt nhập: http://Localhost/Maytinh

5353

http://www.thayphet.net

Written by: Dương Thành Phết

Truy cập ñể kiểm tra

4.2 Triển khai ứng dụng web (Publish web site)

a. Sử dụng chức năng Publish web site

(cid:4) Biên dịch ứng dụng và copy website ñến thư mục cụ thể. (cid:4) Các tập tin code behide ñã ñược biên dịch thành .dll (cid:4) Thao tác

5454

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:3) Click phải vào project (cid:2) Publish website

Khai báo ñường dẫn thư mục sẽ chứa website publish ñến

5555

http://www.thayphet.net

Written by: Dương Thành Phết

(cid:4) Mở cửa sổ Explorer, ta sẽ thấy thư mục ñược tạo (cid:4) Vào IIS tạo thư mục ảo ánh xạ ñến thư mục ñã tạo (cid:4) Kiểm tra : http://localhost/ (cid:4) Sử dụng thư mục ñã tạo ñể Upload lên Webserver

b. Sử dụng công cụ Web deployment Setup

5656

http://www.thayphet.net

Written by: Dương Thành Phết

Công dụng cũng giống như chức năng Publish web site nhưng không có sẳn trong bộ MS VS 2005 mã phải tự cài ñặt