Lập trình web Asp.net với C# - Chương 1: Tổng quan về asp.net
1.1 Giới thiệu về ASP.Net và .Net Framework 1.2 Tạo ứng dụng Web với Microsoft Visual 2005 1.3 Các thành phần giao diện trên VS .Net 1.4 Triển khai ứng dụng web
Bạn đang xem trước 20 trang tài liệu Lập trình web Asp.net với C# - Chương 1: Tổng quan về asp.net, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Giảng Viên: Th.S Phạm Đào Minh Vũ
Email: phamdaominhvu@yahoo.com
1
LẬP TRÌNH WEB ASP.NET VỚI C#
2
Chương 1
Tổng Quan Về ASP.Net
Khoa CNTT,Trường CĐ CNTT TP.HCM
1.1 Giới thiệu về ASP.Net và .Net Framework
1.2 Tạo ứng dụng Web với Microsoft Visual 2005
1.3 Các thành phần giao diện trên VS .Net
1.4 Triển khai ứng dụng web
3
1.1.1 Tìm hiểu về ASP.Net
1.1. Giới thiệu về ASP.Net và .Net Framework
1.1.2 Những ưu điểm của ASP.Net
1.1.3 Quá trình xử lý tập tin .Aspx
1.1.4 Tìm hiểu về .Net Phatform và .Net Framework
Khoa CNTT,Trường CĐ CNTT TP.HCM
4
1.1.1 Tìm hiểu về ASP.Net
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.
ASP thể hiện những ưu điểm với mô hình lập trình thủ
tục đơn giản, sử dụng hiệu quả các đối tượng: ADO
(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 Được yêu thích
trong thời gian dài
Khoa CNTT,Trường CĐ CNTT TP.HCM
5
Tuy nhiên, ASP còn tồn đọng một số khó khăn như:
Code ASP và HTML lẫn lộn, viết code khó khăn,
Hạn chế khả năng sử dụng lại code.
Mã nguồn không được biên dịch trước và không hỗ
trợ cache hạn chế về tốc độ, quá trình Postback
khó khăn,
Năm 2002, Microsoft giới thiệu một kỹ thuật lập trình
Web mới là ASP.Net đã khắc phục được các nhược điểm
của ASP củ.
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.
Khoa CNTT,Trường CĐ CNTT TP.HCM
6
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.
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.
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.
Khoa CNTT,Trường CĐ CNTT TP.HCM
7
1.1.2 Những ưu điểm của ASP.Net
ASP.Net cho phép lựa chọn bất kỳ ngôn ngữ lập trình
nào mà bạn yêu thích: Visual Basic.Net, J#, C#,
Trang ASP.Net được biên dịch trước, chuyển 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.
Khoa CNTT,Trường CĐ CNTT TP.HCM
8
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,
ASP.Net và ASP có thể cùng hoạt động trong 1 ứng
dụng.
ASP.Net sử dụng phong cách lập trình mới gọi là Code
behide (Tách code riêng, giao diện riêng) Dễ đọc, dễ
quản lý và bảo trì.
Kiến trúc lập trình giống lập trình ứng dụng trên
Windows.
Khoa CNTT,Trường CĐ CNTT TP.HCM
9
Hỗ trợ quản lý trạng thái của các control
Hỗ trợ nhiều cơ chê Cache
Tự động phát sinh mã HTML cho các Server control
tương ứng với từng loại Browser
Triển khai cài đặt
• 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
Hỗ trợ quản lý ứng dụng ở mức toàn cục
• Global.aspx có nhiều sự kiện hơn
• Quản lý session trên nhiều Server, không cần Cookies
Khoa CNTT,Trường CĐ CNTT TP.HCM
10
1.1.3 Quá trình xử lý tập tin .aspx
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
Khoa CNTT,Trường CĐ CNTT TP.HCM
11
1.1.4 Tìm hiểu về .Net Phatform và .Net Framework
.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.
Khoa CNTT,Trường CĐ CNTT TP.HCM
12
.Net Framework - Bộ thư viện các lớp đối tượng
Kiến trúc .Net Framework
Khoa CNTT,Trường CĐ CNTT TP.HCM
13
Framework chính là một tập hợp hay là một 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
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!
Khoa CNTT,Trường CĐ CNTT TP.HCM
14
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
dụng .NET Framework cung cấp các lớp đối tượng
(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).
Như vậy chọn HĐH để sử dụng .NET Framework
là quan trọng. (Windows XP, 2003 Server, Window 7, sẽ
đơn giản và tiện dụng trong khi lập trình)
Khoa CNTT,Trường CĐ CNTT TP.HCM
15
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,
Trong các bản mới (XP.NET, 2003, Win 7,) CLR
được gắn kèm với hệ điều hành. Điều này đảm bảo ứng
dụng ta viết ra sẽ chạy trên máy tính khác mà không cần
cài đặt.
Khoa CNTT,Trường CĐ CNTT TP.HCM
16
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
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,
Khoa CNTT,Trường CĐ CNTT TP.HCM
17
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.
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 trước đây chỉ chạy trên nền
Windows thành một ứng dụng Web khá dễ dàng.
Khoa CNTT,Trường CĐ CNTT TP.HCM
18
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.
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,
© Dương Thành Phết-www.thayphet.net Khoa CNTT,Trường CĐ CNTT TP.HCM
19
Web services
Web services là các dịch vụ được cung cấp qua
Web (hay Internet). Dịch vụ được coi là Web service
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à
sự hỗ trợ từ phía HĐH của Internet Information Server.
Khoa CNTT,Trường CĐ CNTT TP.HCM
20
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.
Đ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.
Khoa CNTT,Trường CĐ CNTT TP.HCM
21
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 nào đó, 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
lớn. Namespace lớn nhất là System.
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.
Với hơn 5000 tên có sẵn thì khả năng bị trùng tên là rất
lớn 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à:
System.Web.UI.WebControls.
Khoa CNTT,Trường CĐ CNTT TP.HCM
22 Hệ thống tên miền (Namespace)
Khoa CNTT,Trường CĐ CNTT TP.HCM
23
Đặ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 để
xây dựng ứng dụng, .NET Framework buộc người lập
trình phải sử dụng kỹ thuật lập trình hướng đối tượng
Khoa CNTT,Trường CĐ CNTT TP.HCM
24
1.2. Tạo ứng dụng web với MS Visual 2005
1.2.1. Khởi động MS Visual Studio .Net
1.2.2. Tạo ứng dụng Web
Khoa CNTT,Trường CĐ CNTT TP.HCM
25
Start Programs Microsoft Visual Studio 2010
1.2.1. Khởi động MS Visual Studio .Net
Khoa CNTT,Trường CĐ CNTT TP.HCM
26
Từ menu File New Website
Chọn ASP.Net Empty Web site
Chọn vị trí lưu trữ - Location (D:\Wellcom)
Chọn ngôn ngữ lập trình (C#)
1.2.2. Tạo ứng dụng Web
Khoa CNTT,Trường CĐ CNTT TP.HCM
27
Kết quả:
Cửa sổ Solution Explorer
Chuột phải -> Add new Item
-> Webform -> đặt tên “Default.aspx”
Khoa CNTT,Trường CĐ CNTT TP.HCM
28
Trang Default.aspx (Source)
Trang Default.aspx.cs
Khoa CNTT,Trường CĐ CNTT TP.HCM
29
•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.
1.2.3 Bổ sung điều khiển vào trang:
Khoa CNTT,Trường CĐ CNTT TP.HCM
30
Chuyển sang trang code Default.aspx.cs (Double click vào
trang đang thiết kế) Nhập code cho sự kiện Page Load:
Khoa CNTT,Trường CĐ CNTT TP.HCM
31
1.2.4 Thi hành ứng dụng :
Kiểm lỗi : Menu Build Chọn Build Web Site
Chấp nhận bật chế độ debug cho Website
Khoa CNTT,Trường CĐ CNTT TP.HCM
32
Chạy chương trình (không debug):Ctrl + F5
Chạy chương trình (có debug): F5
Khoa CNTT,Trường CĐ CNTT TP.HCM
33
1.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
Khoa CNTT,Trường CĐ CNTT TP.HCM
34
1.3. Các thành phần giao diện trên MS Visual .Net
1.3.1 Solution Explorer
1.3..2 Property Window
1.3.3 Toolbox
1.3.4 Document Outline Window
Khoa CNTT,Trường CĐ CNTT TP.HCM
35
1.3.1 Solution Explorer
Hiển thị cửa số Solution Explorer:
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:
Khoa CNTT,Trường CĐ CNTT TP.HCM
36
Thêm thành phần mới cho ứng dụng: Click phải Add |
Add New Item
Web Form: Thêm trang Web
Class: Thêm lớp đối tượng
Module Web Form: Thêm thư viện
Web User Control: Thêm điều khiển người dùng
Khoa CNTT,Trường CĐ CNTT TP.HCM
37
Xác định Project khởi động(trong trường hợp Solution
có nhiều Project): Click phải chuột chọn Set as
StartUp Project.
Khoa CNTT,Trường CĐ CNTT TP.HCM
38
Xác định trang web khởi động cho ứng dụng: Chọn
trang cần khởi động Click phải chuột Chọn Set
As Start Page.
Khoa CNTT,Trường CĐ CNTT TP.HCM
39
1.3.2 Property Window
Hiển thị cửa số Properties Window:
Menu View | Properties Window.
Dùng để thiết lập thuộc tính cho trang web và các
điều khiển có trong trang web.
Khoa CNTT,Trường CĐ CNTT TP.HCM
40
1.3.3 Toolbox
Hiển thị Toolbox:
Menu View Toolbox
Dùng để tạo các điều khiển trân trang.
Khoa CNTT,Trường CĐ CNTT TP.HCM
41
1.3.4 Document Outline Window
Hiển thị cửa sổ Document Outline:
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 rất dễ quản lý và thao tác với
các đối tượng có trong trang Web.
Khoa CNTT,Trường CĐ CNTT TP.HCM
42
1.4.1 Phần mềm Web Server(IIS)
1.4. Triển khai ứng dụng web(IIS)
1.4.2 Triển khai ứng dụng web
Khoa CNTT,Trường CĐ CNTT TP.HCM
43
1.4.1 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.
IIS có rất nhiều phiên bản:
Windows 2000 tích hợp IIS 5.0.
Windows XP tích hợp IIS 5.5
Windows XP tích hợp IIS 6 hỗ trợ các tính năng
dành cho .NET và Web Service.
Windows Vista tích hợp IIS 7.0
Giới thiệu về phần mềm Web Server(IIS)
Khoa CNTT,Trường CĐ CNTT TP.HCM
44
Cài đặt IIS 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 Internet Information Services (IIS).
Bước 4. Chọn nút Next để cài đặt.
Khoa CNTT,Trường CĐ CNTT TP.HCM
45
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ỉ :
hoặc
Khoa CNTT,Trường CĐ CNTT TP.HCM
46
Trên Windows Vista/ Windows 7
Bước 1: Start Settings Control Panel
Bước 2: Classic View 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.
Khoa CNTT,Trường CĐ CNTT TP.HCM
47
Để kiểm tra cài đặt: Khởi động trình duyệt truy cập địa chỉ :
hoặc
Khoa CNTT,Trường CĐ CNTT TP.HCM
48
Trên Windows 2000/XP
Start Settings Control Panel
Administratrive tools Internet Infomtic Services
Click phải Default Web site
Cấu hình Web Server
Khoa CNTT,Trường CĐ CNTT TP.HCM
49
Qui định thư mục gốc ứng dụng: Home Directory
Để thực thi ứng dụng từ địa chỉ 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ỉ:
Khoa CNTT,Trường CĐ CNTT TP.HCM
50
Trên Windows Vista/ Windows 7
Start Settings Control Panel
Administratrive tools IIS Manager
Khoa CNTT,Trường CĐ CNTT TP.HCM
51
Quy định thư mục gốc ứng dụng: Directory Browsing
Quy định trang chủ mặc định: Default Document
Khoa CNTT,Trường CĐ CNTT TP.HCM
52
Khai báo thư mục vật lý
(D:\MyWebsite)
Khai báo nhãn thư mục ảo (Myweb)
Next
Next Finish
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.
Click phải Default WebsiteNew/ Virtual Directory
Trên Windows 2000/XP
Khoa CNTT,Trường CĐ CNTT TP.HCM
53 OK
Click phải: Default WebsiteAdd Application
Thư mục vật lý
Tên ánh xạ
Trên Windows Vista/ Windows 7
Khoa CNTT,Trường CĐ CNTT TP.HCM
54
Truy cập để kiểm tra
Từ IIS Manager: Click phải trang cần xem (Default.aspx) Browse
Hoặc Từ trình duyệt nhập:
Khoa CNTT,Trường CĐ CNTT TP.HCM
55
1.4.2 Triển khai ứng dụng web (Publish web site)
Biên dịch ứng dụng và copy website đến thư mục
cụ thể.
Các tập tin code behide đã được biên dịch thành .dll
Thao tác
Click phải vào project Publish website
Sử dụng chức năng Publish web site
Khoa CNTT,Trường CĐ CNTT TP.HCM
56
Khai báo đường dẫn thư mục sẽ chứa website publish đến
Mở cửa sổ Explorer, ta sẽ thấy thư mục được tạo
Vào IIS tạo thư mục ảo ánh xạ đến thư mục đã tạo
Kiểm tra :
Sử dụng thư mục đã tạo để Upload lên Webserver
Khoa CNTT,Trường CĐ CNTT TP.HCM