Tải bản đầy đủ (.pdf) (104 trang)

Lập trình ứng dụng web

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.09 MB, 104 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

ĐẠI HỌC CÔNG NGHỆ TP.HCM

LẬP TRÌNH ỨNG DỤNG WEB
Biên Soạn:
GV.Mai Ngọc Thu

www.hutech.edu.vn


LẬP TRÌNH ỨNG DỤNG WEB
Ấn bản 2014


MỤC LỤC

I

MỤC LỤC
MỤC LỤC .................................................................................................................. I
HƯỚNG DẪN ........................................................................................................... IV
BÀI 1: ASP.NET ........................................................................................................... 1
1.1 TỔNG QUAN ASP.NET ......................................................................................... 1
1.1.1 Giới thiệu ...................................................................................................... 1
1.1.2 ASP.NET tích hợp với Framework ...................................................................... 1
1.1.3 Tính đa ngôn ngữ ........................................................................................... 1
1.1.4 Tính hướng đối tượng ...................................................................................... 2
1.1.5 Biên dịch ASP.NET .......................................................................................... 2
1.1.6 Dễ dàng triển khai và cấu hình ......................................................................... 3
1.2 TÍNH NĂNG MỚI TRONG ASP.NET ....................................................................... 3


1.2.1 Các công cụ điều khiển mới ............................................................................. 4
1.2.2 LINQ ............................................................................................................ 4
1.2.3 Các Assembly mới .......................................................................................... 4
1.2.4 ASP.NET MVC (Model View Control) .................................................................. 4
1.3 TẠO TRANG WEB VỚI VISIUAL STUDIO .............................................................. 5
1.3.1 Tạo dự án mới ............................................................................................... 5
1.3.2 Ví dụ ............................................................................................................ 7
1.4 CÁC SỰ KIỆN TRONG ASP.NET............................................................................. 8
1.4.1 Chu kỳ sống của trang web trong ASP.NET (Page Life Cycle)................................................ 9
1.4.2 Một số sự kiện của trang web ........................................................................... 9
1.4.3 Sự kiện ứng dụng ......................................................................................... 10
TÓM TẮT ................................................................................................................ 11
BÀI TẬP ................................................................................................................. 12
BÀI 2: CÁC LỚP SỬ DỤNG TRONG ASP.NET ............................................................... 14
2.1 HTTP REQUEST ................................................................................................. 14
2.1.1 Giới thiệu .................................................................................................... 14
2.1.2 Các thuộc tính ............................................................................................. 15
2.2 HTTP RESPONSE ............................................................................................... 18
2.2.1 Giới thiệu .................................................................................................... 18
2.2.2 Các thuộc tính/phương thức ........................................................................... 19
2.3 HTTP SERVER ................................................................................................... 19
2.4 SESSION VÀ COOKIE ........................................................................................ 20
2.4.1 Giới thiệu Cookie và Session .......................................................................... 20
2.4.2 Cookie ........................................................................................................ 21
2.4.3 Session ....................................................................................................... 22
TÓM TẮT ................................................................................................................ 24
BÀI TẬP ................................................................................................................. 25


II


MỤC LỤC

BÀI 3: TRUY CẬP DỮ LIỆU ......................................................................................... 27
3.1 TỔNG QUAN...................................................................................................... 27
3.2 TRUY CẬP DỮ LIỆU ADO.NET ............................................................................. 29
3.3 TRUY CẬP DỮ LIỆU XML .................................................................................... 30
3.4 SQLDATASOURCE ............................................................................................. 31
3.5 TRUY CẬP DỮ LIỆU LINQ................................................................................... 33
3.5.1 LINQ cơ bản ................................................................................................ 34
3.5.2 Cách làm việc của LINQ................................................................................. 34
3.5.3 Cú pháp LINQ .............................................................................................. 34
TÓM TẮT ................................................................................................................ 38
BÀI TẬP ................................................................................................................. 39
BÀI 4: LẬP TRÌNH GIAO DIỆN WEB VỚI JQUERY....................................................... 40
4.1 JQUERY LÀ GÌ? ................................................................................................. 40
4.1.1 Giới thiệu .................................................................................................... 40
4.1.2 Sử dụng jQuery trong ASP.NET ...................................................................... 41
4.2 LẬP TRÌNH VỚI JQUERY .................................................................................... 42
4.2.1 Chạy mã khi trang đã sẵn sàng ...................................................................... 42
4.2.2 Hàm $() - function $() ................................................................................. 43
4.2.3 Một số API trong jQuery ................................................................................ 43
TÓM TẮT ................................................................................................................ 50
BÀI TẬP ................................................................................................................. 50
BÀI 5: TỔNG QUAN VỀ ASP.NET MVC FRAMEWORK ................................................... 51
5.1 TỔNG QUAN ASP.NET MVC ................................................................................ 51
5.1.1 Mô hình MVC cơ bản ..................................................................................... 51
5.1.2 Đặc tính trong ASP.NET MVC .......................................................................... 52
5.1.3 Khác biệt với Web Form ................................................................................ 52
5.1.4 Lợi ích của ứng dụng web dựa trên mô hình MVC .............................................. 53

5.2 XÂY DỰNG ỨNG DỤNG VỚI ASP.NET MVC .......................................................... 55
5.2.1 Tạo Project với ASP.NET MVC Web Application .................................................. 55
5.3 ĐỊNH TUYẾN URL .............................................................................................. 57
5.3.1 Giới thiệu .................................................................................................... 57
5.3.2 Tìm hiểu định tuyến URL ............................................................................... 58
TÓM TẮT ................................................................................................................ 60
BÀI TẬP ................................................................................................................. 61
BÀI 6: MODEL – VIEW

CONTROLLER ....................................................................... 62

6.1 TÌM HIỂU VỀ CONTROLLER ............................................................................... 62
6.2 TÌM HIỂU VỀ VIEW ........................................................................................... 64
6.3 TÌM HIỂU VỀ MODEL ......................................................................................... 66
6.4 CẤU TRÚC VIEWS\SHARE\SITE.MASTER .......................................................... 69
TÓM TẮT ................................................................................................................ 71


MỤC LỤC

III

BÀI TẬP ................................................................................................................. 71
BÀI 7: CẬP NHẬT DỮ LIỆU VỚI MVC ................................................................................... 72
7.1 THÊM MỚI DỮ LIỆU TRONG MVC ....................................................................... 72
7.1.1 Thêm các phương thức dữ liệu với mô hình dbml............................................... 72
7.1.2 Các hành động (action) tại các bộ điều khiển (controller) ............................................ 73
7.2 SỬA ĐỔI DỮ LIỆU TRONG MVC .......................................................................... 75
7.3 QUY TRÌNH KIỂM TRA TRONG ỨNG DỤNG MVC ..................................................... 80
7.3.1 Controller trong ứng dụng test ....................................................................... 80

7.3.2 Kiểm thử kết quả trả về từ một controller. ....................................................... 84
TÓM TẮT ................................................................................................................ 86
BÀI TẬP ................................................................................................................. 86
BÀI 8: THỰC HIỆN BẢO MẬT CHO ỨNG DỤNG ASP.NET MVC ...................................... 87
8.1 AUTHENTICATION - XÁC THỰC NGƯỜI DÙNG.................................................... 87
8.1.1 Tạo người dùng mặc định với ứng dụng ASP.NET MVC ....................................... 87
8.1.2 Quản lý người dùng với công cụ Website Administration ......................................... 89
8.1.3 Roles - Phân quyền nhóm người dùng ............................................................. 90
8.2 CẤU HÌNH VIỆC XÁC THỰC NGƯỜI DÙNG .......................................................... 92
TÓM TẮT ................................................................................................................ 95
BÀI TẬP ................................................................................................................. 95
TÀI LIỆU THAM KHẢO ............................................................................................. 96


IV

HƯỚNG DẪN

HƯỚNG DẪN
MÔ TẢ MÔN HỌC
Môn học trang bị các kiến thức nhập môn về lập trình web. Nội dung bao gồm:
-

Asp.net web form

-

Http request POST/GET

-


Http response

-

Lập trình với Session/cookie

-

Lập trình cơ sở dữ liệu: ADO.NET, Linq

-

Asp.net MVC

-

Model – View – Controller

-

Bảo mật với Asp.net Membership

NỘI DUNG MÔN HỌC


Bài 1. Giới thiêu tổng quan về ASP.NET.




Bài 2. Các lớp thư viện trong ASP.NET



Bài 3. Truy câp dữ liêu



Bài 4. jQuery.



Bài 5. Tổng quan về ASP.NET MVC Framework..



Bài 6. Model – View - Controller.



Bài 7. Chỉnh sửa dữ liệu với MVC.



Bài 8. Bảo mật với ASP.NET Membership

KIẾN THỨC TIỀN ĐỀ
Môn Lập trình web cần kiến thức tiền đề của các môn học sau.
-


Thiết kế web


HƯỚNG DẪN

-

Lập trình hướng đối tượng

-

Lập trình C# trên windows

V

YÊU CẦU MÔN HỌC
Người học vận dụng được kiến thức nền tảng về lập trình web để có thể thiết kế
cài đặt các ứng dụng web, như quản lý website, hệ quản trị nội dung, ứng dụng
thương mại điện tử, các dịch vụ web.
Kỹ năng lập trình, và phân tích thiết kế ứng dụng thành thạo.
Người học cần đi học đầy đủ, đọc các nội dung sẽ được học trước khi đến lớp,
làm các bài tập về nhà và đảm bảo thời gian tự học ở nhà.

CÁCH TIẾP NHẬN NỘI DUNG MÔN HỌC
Để học tốt môn này, người học cần đọc trước các nội dung chưa được học trên lớp;
tham gia đều đặn và tích cực trên lớp; hiểu các khái niệm, tính chất và ví dụ tại lớp
học. Sau khi học xong, cần ôn lại bài đã học và làm các bài tập, câu trắc nghiệm. Tìm
đọc thêm các tài liệu khác liên quan đến bài học và làm thêm bài tập.

PHƯƠNG PHÁP ĐÁNH GIÁ MÔN HỌC

Môn học được đánh giá gồm hai thành phần.


Phần điểm quá trình chiếm 30%, hình thức và nội dung đánh giá điểm quá trình do
giảng quyết định và công bố cho người học đầu khóa học.



Phần điểm cuối khóa chiếm 70%, hình thức là đồ án môn học cuối khóa.



BÀI 1: ASP.NET

1

BÀI 1: ASP.NET
Học xong bài này người học sẽ nắm được các nội dung sau:
-

Hiểu được tổng quan về công nghệ ASP.NET, Khái niệm về ASP.NET.

-

Biết được những tính năng mới của ASP.NET 3.5 so với ASP.NET 2.0.

-

Biết cách tạo website trong Visual Studio 2008.


1.1 TỔNG QUAN ASP.NET
1.1.1 Giới thiệu
Trước hết, tên đầy đủ của ASP.NET là Active Server Pages .NET (.NET ở đây là
.NET framework). Nói đơn giản thì ASP.NET là một công nghệ có tính cách mạng dùng
để phát triển các ứng dụng về mạng hiện nay cũng như trong tương lai. ASP.NET là
một phương pháp tổ chức hay khung tổ chức (framework) để thiết lập các ứng dụng
mạnh cho mạng dựa trên CLR (Common Language Runtime).

1.1.2 ASP.NET tích hợp với Framework
.NET Framework được chia thành bộ các tác vụ cho từng chức năng gồm các lớp
(class), các cấu trúc (structures), các giao diện (interfaces) và các lõi (core) thành
phần chương trình. Trước khi sử dụng thành phần nào ta phải hiểu cơ bản về chức
năng, các tổ chức của nó. Mỗi một trong hàng nghàn các tầng lớp được nhóm theo
trình tự logic, thứ bậc được gọi là một namespace. Mỗi namespace cung cấp một
tính năng.

1.1.3 Tính đa ngôn ngữ
Để xây dựng một ứng dụng web chúng ta không chỉ chọn một ngôn ngữ mà có thể
chọn nhiều ngôn ngữ khác. Điều quan trọng là các ngôn ngữ chúng ta chọn mã của


2

BÀI 1: ASP.NET

nó dịch được ra mã IL. Điều đó có nghĩa là IL là ngôn ngữ của .NET và chỉ có CLR
nhận biết được IL.

1.1.4 Tính hướng đối tượng
ASP.NET là ngôn ngữ lập trình hướng đối tượng sử dụng các ngôn ngữ .NET. Nó

cung cấp bộ các đối tượng nhỏ và thực sự là một tầng làm việt trên nguyên lý của
HTTP và HTML. Mã nguồn của chúng ta không được truy cập toàn bộ các đối tượng
trong .NET Framework nhưng có thể khai thác tất cả các quy ước của một môi trường
OOP (Object Oriented Programming). Chúng ta có tạo các lớp, giao diện, kế thừa các
lớp ... Chúng ta có thể kiểm soát được các đối tượng trong chương trình như hiển thị
dữ liệu và các sự kiện của đối tượng.

1.1.5 Biên dịch ASP.NET
Một ứng dụng ASP.NET luôn luôn được biên dịch, nó không chạy bằng mã của C#
hoặc Visual Basic mà không được biên dịch trước. Một ứng dụng ASP.NET thực sự
được biên dịch thông qua 2 giai đoạn:
-

Giai đoạn đầu tiên những
các mã (code) ta viết (C#,
Visual Basic hoặc ngôn ngữ
.NET khác) được dịch bởi
Microsoft

Intermediate

Language

(MSIL).

Giai

đoạn dịch này được dịch tự
động khi trang wed đầu tiên
yêu cầu. Chúng ta có thể

thực hiện dịch trước. Các tập
tin được dịch thành mã IL
(Intermediate Language Code).
-

Hình 1.1: Kiến trúc .Net Framework

Giai đoạn tiếp theo được dịch trước khi trang Web được thực thi. Tại giai đoạn này
mã IL được dịch thành bản mã máy (Native Machine Code). Giai đoạn này được gọi
là Just-In-Time (JIT).


BÀI 1: ASP.NET

3

Khía cạnh quan trọng nhất của công cụ ASP.NET là nó chạy trong môi trường thời
gian thực (Runtime) của CLR (Common Language Runtime). CLR là máy ảo (virtual
machine) trong Microsoft .NET, do có ngôn ngữ trung gian IL nên khi phát triển ứng
dụng trên .NET, chúng ta không bị phụ thuộc vào thiết bị, có nghĩa là theo Microsoft
nói thì ứng dụng .NET có thể chạy trên bất kỳ thiết bị nào có .NET Framework. Tất cả
các namespace, các ứng dụng, các lớp trong bộ .NET Framework được gọi tắt là bộ
quản lý mã. CLR cũng cung cấp các dịch vụ quan trọng khác như:
-

Quản lý bộ nhớ

-

Thu nhặt rác


-

Quản lý các tuyến

-

Xử lý ngoại lệ

-

An toàn

1.1.6 Dễ dàng triển khai và cấu hình
Mọi sự cài đặt .NET Framework đều cung cấp các lớp như nhau. Để triển khai ứng
dụng ASP.NET chúng ta chỉ cần sao chép các tập tin vào thư mục ảo trên máy chủ
(server) và máy chỉ chỉ cần có .NET Framework.
Việc cấu hình dễ dàng đơn giản không phụ thuộc vào IIS (Internet Information
Services). Cấu hình trong ASP.NET được đặt trong tập tin web.config. Tập tin
web.config được để cùng với thư mực chứa trang web của chúng ta. Tập tin
web.config không bao giờ bị khóa, chúng ta có thể truy cập bất kỳ lúc nào, việc sửa
tập tin này hoàn toàn dễ dạng vì chúng được lưu dưới dạng XML.

1.2 TÍNH NĂNG MỚI TRONG ASP.NET
Microsoft phát hành ASP.NET vào ngày 19 tháng 11 năm 2007 cùng với Visual
Stutio 2008. Đây là bước tiến hóa từ ASP.NET 2.0 tới ASP.NET 3.5. Nếu chúng ta
đang sử dụng ASP.NET 2.0 để sử dụng ASP.NET 3.5 chỉ cần cài đặt thêm các tính
năng mới của ASP.NET 3.5. Trong phần này ta sẽ giới thiệu một số tính năng mới
trong ASP.NET 3.5



4

BÀI 1: ASP.NET

1.2.1 Các công cụ điều khiển mới
Các công cụ (control) ListView và DataPager có thể dùng mới kiểu dữ liệu mới
LinqDataSource.
ListView linh hoạt hơn và có chứa toàn bộ tính năng của Gridview, Datagrid,
Repeater trong ASP.NET 2.0. Nó cung cấp các khả năng và chèn, xóa, sửa, sắp xếp,
phân trang. Chúng ta hoàn toàn định dạng được việc dữ liệu hiển thị trên ListView
mà không cần phải sử dụng thẻ <table>. Các Template trong ListView rất phong
phú và đa dạng. Datager cung cấp cho ListView trong việc phân trang.

1.2.2 LINQ
LINQ (Language Integrated Query) cung cấp khả năng lập trình mới trong .NET là
giải pháp lập trình hợp nhất, đem đến khả năng truy vấn dữ liệu theo cú pháp SQL
trực tiếp trong C# hay VB.NET, áp dụng cho tất cả các dạng dữ liệu từ đối tượng đến
Cơ sở dữ liệu quan hệ và XML.

1.2.3 Các Assembly mới
-

System.Core.dll: Các cài đặt cho LINQ to Objects

-

System.Data.Linq.dll: Các cài đặt cho LINQ to SQL

-


System.Xml.Linq.dll: Các cài đặt cho LINQ to XML

-

System.Data.DataSetExtensions.dll

-

Các hiện thực cho LINQ đến DataSet

-

System.Web.Extensions.dll: Các cài đặt for ASP.NET AJAX

1.2.4 ASP.NET MVC (Model View Control)
Kiến trúc MVC là việc chia tất cả mục của một ứng dụng ra làm ba thành phần
(component) khác nhau Model, View và Controller:
-

Model: Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu
vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu


BÀI 1: ASP.NET

5

vào từ người dùng sẽ thông qua View được kiểm tra ở Model trước khi lưu vào cơ
sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model.

-

View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao
nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ
điều khiển, sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển kết quả cho
người dùng. Các trang HTML, JSP, các thư viện thể và các tập tin nguồn là một
phần của thành phần View.

-

Controller: Controller là tầng trung gian giữa Model và View. Controller được giao
nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy
khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và
sau đó sinh ra các kết quả cho người dùng và được thành phần View hiển thị.

1.3 TẠO TRANG WEB VỚI VISIUAL STUDIO
1.3.1 Tạo dự án mới
-

Chúng ta kích hoạt ứng dụng Visual Studio (h1.2).

Hình 1.2: Tạo mới dự án

-

Nếu chọn New Project xuất hiện hộp hội thoại New Project (h1.3)

-

Trong Project Type:



Visual Basic → Web nếu chọn Visual Basic là ngôn ngữ viết ứng dụng.


6


BÀI 1: ASP.NET

Visual C# → Web nếu chọn C# là ngôn ngữ viết ứng dụng.

-

Trong Templates chọn ASP.NET Web Application,.

-

Trong Name đặt tên cho Project, tên do ta đặt.

-

Trong Location là thư mục chứa Project.


-

Nếu chọn New Web Site xuất hiện hộp hội thoại New Project sau.

Trong Languge:



Visual Basic → Web nếu chọn Visual Basic là ngôn ngữ viết ứng dụng.



Visual C# → Web nếu chọn C# là ngôn ngữ viết ứng dụng.

-

Trong Templates chọn ASP.NET Web Application.

-

Trong Location chọn tên và thư mực chứa Project.

Hình 1.3: Chọn ứng dụng Web form application


BÀI 1: ASP.NET

7

1.3.2 Ví dụ

Hình 1.4: Tạo dự án dạng Web form

Ví dụ ta tạo một dự án có tên là ViDu1, đặt tại ổ đĩa D, chọn ngôn ngữ chọn là C#
(h1.5) sau đó bấm OK. Sau đó chúng ta được tập tin Default.aspx


Hình 1.5: ViDu1 project
Trong ví dụ đầu tiên này chúng ta soạn một đoạn mã sau trong Default.aspx:


8

BÀI 1: ASP.NET

<%@ Page Language=“C#” AutoEventWireup=“true” CodeFile=“Default.aspx.cs”
Inherits=“_Default” %>
“ /><html xmlns=“ /><head id=“Head1” runat=“server”>
<title></title>
</head>
<body>
<form id=“form1” runat=“server”>
<div>
<font face=“verdana” color=“red” size=“20”>Chào mừng bạn đến với ASP.NET
3.5 </font>
</div>
</form>
</body>
</html>

Để thực thi ứng dụng web này dưới dạng Debug, chúng ta chọn Deburg → Start
Debugging hoặc bấm phím F5.

1.4 CÁC SỰ KIỆN TRONG ASP.NET
Để thực hiện được đúng các sự kiện trong quá trình lập trình với ASP.Net, chúng ta
cần tìm hiểu bảng ý nghĩa các tập tin như sau:

Bảng 1.1:Bảng ý nghĩa các tập tin

TẬP TIN
*.aspx

*.cs
web.config
global.asax

MIÊU TẢ
Tập tin này chứa toàn bộ giao diện người dùng, các tùy chọn, các
đoạn mã nguồn ứng dụng. Đây là một trong những trang web đầu
tiên được bắt đầu khi người sử dụng duyệt web.
Tập tin này chứa các mã nguồn của C#
Tập tin tin dạng XML chứa cấu hình cho ứng dụng ASP.NET. Nó bao
gồm các cấu hình về an ninh, quản lý trạng thái, quản lý bộ nhớ.
Chúng ta sử dụng tập tin này để khai báo các biến toàn cục và phản
ứng với các sự kiện toàn cục.

Trong đó:
-

Phần giao diện của ứng dụng nằm trong ở các tập tin .aspx và html.

-

Tất cả các tập tin mã nguồn (C#, VB.NET hoặc ngôn ngữ .NET) sẽ được biên dịch
thành tập tin .DLL và nằm trong thư mục /Bin.



BÀI 1: ASP.NET

9

1.4.1 Chu kỳ sống của trang web trong ASP.NET (Page Life Cycle)

Hình 1.6: Vòng đời của trang ASP.NET

Chu kỳ sống được bắt đầu khi trình duyệt yêu cầu một trang web gọi là Session.
Chu kỳ sống vẫn tiếp tục nếu:
-

Session đang hoạt động.

-

Người sử dụng tương tác với giao diện web cho đến khi kích hoạt một sự kiện.

-

Dữ liệu của trang (View State) wed được gửi về cho Server.

-

Server nhận được View State và trả lại yêu cầu từ View State.
Chu kỳ sống kết thúc khi:

-

Người dùng kết thúc trình duyệt.


-

Session kết thúc (timeout).

1.4.2 Một số sự kiện của trang web
Các sự kiện xử lý trong vòng đời của trang web được mô tả trong bảng sau:
Bảng 1.2: Bảng sự kiện liên quan các diễn tiến của trang web

SỰ KIỆN

MIÊU TẢ

Pre Init

Kiểm tra thuộc tính IsPostBack khi lần đầu tiên trang web đang


10

BÀI 1: ASP.NET

được sử lý. Tạo mới hoặc tạo mới lại các Control động (Dynamic
Control). Thiết lập trang chủ (Master page), thuộc tính Theme. Đọc
và thiết lập giá trị cho thuộc tính Profile.
Init

Làm nổi (Raised) sau khi các Control đã được khởi động và các
Skin đã được ứng dụng. Chúng ta sử dụng sử kiện này để đọc hoặc
khởi tạo các thuộc tính của Control.


Load

Sử dụng sự kiện này để thiết lập thuộc tính cho Control, thiết lập
các kết nối với Cơ sở dữ liệu.

InitComplete

Sử dụng sự kiện này để xử lý các tác vụ có yêu cầu khi tất cả các
khởi tạo hoàn thành.

Unload

Trang được giải phóng khỏi bộ nhớ

Error

Khi xảy ra lỗi trong trang.

DataBinding

Server Control trên trang được gắn với nguồn dữ liệu

1.4.3 Sự kiện ứng dụng
Các sự kiện xử lý trong vòng đời của ứng dụng hay của hệ thống được mô tả trong
bảng sau:
Bảng 1.3: Bảng sự kiện ứng dụng

SỰ KIỆN


MIÊU TẢ

Application_Start

Người dùng đầu tiên duyệt trang web.

Application_End

Khi không còn người dùng nào duyệt trang web.

Application_Error

Khi có lỗi xảy ra trong ứng dụng

Session_Start

Khi người dùng duyệt một trang web

Session_End

Khi người dùng đóng trình duyệt hoặc Session kết thúc (time
out)

Ví dụ sau đếm số người truy cập và số người online, trong đó ta cần chuẩn bị nội
dung tập tin Global.asax như sau:
<%@ Application Language=“C#” %>
<%@ Import Namespace=“System.IO” %>
<script RunAt=“server”>
void Application_Start(object sender, EventArgs e)
{

if (!File.Exists(“D:\\Dem.txt”))


BÀI 1: ASP.NET

11

File.WriteAllText(“D:\\Dem.txt”, “0”);
Application[“SNTruyCap”] = int.Parse(File.ReadAllText(“D:\\Dem.txt”));
}
void Application_End(object sender, EventArgs e)
{
}
void Application_Error(object sender, EventArgs e)
{
}
void Session_Start(object sender, EventArgs e)
{
if (Application[“SNOnline”] == null)
Application[“SNOnline”] = 1;
else
Application[“SNOnline”] = (int)Application[“SNOnline”] + 1;
Application[“SNTruyCap”] = (int)Application[“SNTruyCap”] + 1;
File.WriteAllText(“D:\\Dem.txt”, Application[“SNTruyCap”].ToString());
}
void Session_End(object sender, EventArgs e)
{
Application[“SNOnline”] = (int)Application[“SNOnline”] - 1;
}
</script>


TÓM TẮT
Chu kỳ sống của trang web trong ASP.NET: chu kỳ sống được bắt đầu khi trình
duyệt yêu cầu một trang web gọi là Session.
Chu kỳ sống vẫn tiếp tục nếu:
-

Session đang hoạt động.

-

Người sử dụng tương tác với giao diện web cho đến khi kích hoạt một sự kiện.

-

Dữ liệu của trang (View State) wed được gửi về cho Server.

-

Server nhận được View State và trả lại yêu cầu từ View State.

-

Chu kỳ sống kết thúc khi:

-

Người dùng kết thúc trình duyệt.

-


Session kết thúc (timeout).
Kiến trúc MVC là việc chia tất cả mục của một ứng dụng ra làm ba thành phần

(component) khác nhau Model, View và Controller:


12
-

BÀI 1: ASP.NET

Model: Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu
vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu
vào từ người dùng sẽ thông qua View được kiểm tra ở Model trước khi lưu vào cơ
sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model.

-

View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao
nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ
điều khiển, sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển kết quả cho
người dùng. Các trang HTML, JSP, các thư viện thể và các tập tin nguồn là một
phần của thành phần View.

-

Controller: Controller là tầng trung gian giữa Model và View. Controller được giao
nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy
khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và

sau đó sinh ra các kết quả cho người dùng và được thành phần View hiển thị.
ActionServlet, Action, ActionForm và struts-config.xml là các phần của Controller.

BÀI TẬP
Câu 1: Thao tác
-

Làm quen với môi trường Microsoft Visual Studio

-

Xây dựng ứng dụng web đơn giản WebCalculator


Tạo Project WebApplication



Thiết kế giao diện WebForm



Viết mã lệnh xử lý đơn giản



Chạy, Debug và sửa lỗi chương trình

Câu 2: Môi trường Microsoft Visual Studio 2010 hoặc mới hơn
-


Một số khái niệm cơ sở


Form



Controls


BÀI 1: ASP.NET

-



Properties (ID, Width, Height,…)



Phương thức



Sự kiện



Thủ tục – Hàm (Private, Protected, Public)




Thư viện



Lưu mã nguồn trong tập tin riêng biệt (Yes? No?)

Giao diện môi trường


Start Page



Option Dialog (Line number,…).



Toolbox
o Thêm control/tab vào toolbox (Bấm phải \ Add …)
o Kéo thả control vào Form



Properties




Solution Explorer



Class View



Xem màn hình design form: Shift-F7



Chuyển đổi từ Design sang Code và ngược lại: F7



Chạy chương trình: Ctrl-F5 (hoặc F5 với chế độ Debug)

13


14

BÀI 2: CÁC LỚP SỬ DỤNG TRONG ASP.NET

BÀI 2: CÁC LỚP SỬ DỤNG TRONG
ASP.NET
Học xong bài này người học sẽ nắm được các nội dung sau.
-


Hiểu được các khái niệm về đối tượng Http Request, Http Response, Http Server,
Session, Cookie.

-

Biết vận dụng thành thạo những đối tượng này trong bài lập trình liên quan.

2.1 HTTP REQUEST
2.1.1 Giới thiệu
Request là một thể hiện của lớp HttpRequest. Trình duyệt dùng đối tượng
Request để gửi thông tin cần thiết tới Server.

Hình 2.1: Người dùng gởi yêu cầu đến server

Đối tượng Request nhận tất cả giá trị mà trình duyệt của client gởi đến server
thông qua HTTP Request.
Request đại diện cho Client khi yêu cầu trang Web, Server sẽ dùng vừa Response
vừa Request để đáp ứng yêu cầu hay đòi hỏi thông tin từ Client.


BÀI 2: CÁC LỚP SỬ DỤNG TRONG ASP.NET

15

2.1.2 Các thuộc tính
2.1.2.1 RequestType
RequestType: trả về phương thức truyền dữ liệu từ client đến server gồm 2
phương thức POST và GET
Cú pháp: var valMethode=Request.RequestType;


2.1.2.2 Tập hợp Form - Form collection
Form collection được sử dụng để tập hợp dữ liệu được chứa trong các phần tử của
form chuyển từ client đến server bằng phương thức POST.
-

Lấy dữ liệu từ các phần tử của form:
Cú pháp: var VarName= Request.Form[“FieldName”];
Ví dụ: tại trang Default.aspx

<form method=“Post” action=““CheckUser.aspx”>
UserName: <input type=“text” name=“txtUser” />

Password: <input type=“password” name=“txtPwd” />

<input type=“Submit” name=“btnLogin” value=“Login” />

</form>

Hình 2.2: Màn hình giao diện web

Tại trang CheckUser.aspx, ta lấy giá trị của UserName và Password trên form:
<b>UserName:</b>
<%=Request.Form[“txtUser”]%>

<b>Password</b>
<%=Request.Form[“txtPwd”]%>


16
-


BÀI 2: CÁC LỚP SỬ DỤNG TRONG ASP.NET

Count: trả về số phần tử của form chuyển từ client đến server
Cú pháp: int Numelement=Request.Form.Count;

-

Tập hợp khóa Keys: trả về tên của phần tử tại vị trí thứ i, trong đó i có giá trị từ
0 đến n-1, với n=Request.Form.Count
Cú pháp:

var Varfield=Request.Form.Keys[i];

Ví dụ tại trang Default.aspx:
using System;
using System.Web.UI;
namespace ViDu1
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
string varField, varName;
int num = Request.Form.Count;
for (int i = 0; i < num; i++)
{
varField = Request.Form.Keys[i];
varName = Request.Form[varField];
Response.WriteLine(string.Format(“Key[{0}] = {1}”, varField,

varName));
}
}
}
}

2.1.2.3 Tập hợp QueryString
-

Request.QueryString
QueryString được dùng để lấy dữ liệu được gửi từ client đến server bằng phương

thức GET hoặc truyền dữ liệu có chứa tag liên kết <a> Hyperlink. QueryString được
định nghĩa là chuỗi nằm sau dấu ? trong chuỗi URL (Uniform Resource Locator) trên
phần Address của trình duyệt.
Có 3 cách truyền tham số và gọi tập tin xử lý
-

Cách 1: dùng action , tham số truyền qua phần tử của form
<form method=““Get”“ action=““FileName.aspx”>
Các phần tử của form
</form>


BÀI 2: CÁC LỚP SỬ DỤNG TRONG ASP.NET

-

17


Cách 2: dùng action , tham số ghi sau dấu ?
<form method=“Get” action=“FileName.aspx?var1=value1&var2=value2”>
Các phần tử của form
</form>

-

Cách 3: dùng chuỗi liên kết , tham số ghi sau dấu ?. Các tham số được khai báo
cách nhau bởi dấu &, giá trị của mỗi tham số đặt sau dấu =
<a href=“FileName.aspx?var1=value1&var2=value2&…”>
Text hoặc image
</a>

Nếu tham số không có giá trị thì giá trị trả về của tham số khi sử dụng
Request.QueryString là NULL.
Với ba cách truyền dữ liệu từ Client nêu trên, phía Server sẽ dùng tập hợp
QueryString để nhận dữ liệu
Cú pháp: Request.QueryString[“varName”];
-

Tập hợp khóa Keys

-

Keys[i]: trả về tên của phần tử tại vị trí thứ i, trong đó i có giá trị từ 0 đến n-1 với
n = Request.QueryString.Count
Cú pháp: var Varfield=Request.QueryString.Keys[i];

Hình 2.3: Form đăng nhập tại Login.aspx
<%@ Page Language=“C#” AutoEventWireup=“true” CodeBehind=“Login.aspx.cs”

Inherits=“ViDu1.Login” %>
<!DOCTYPE html>
<html xmlns=“ /><head runat=“server”>
<title></title>
</head>
<body>
<form method=“GET” runat=“server”>
UserName:
<input type=“text” name=“txtUser” />



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×