Tài liệu Lập trình web với asp.net: CÁC KNLTCS
PHẦN 1: GIỚI THIỆU
2 2 Ngành lập trình - CSDL
Mục tiêu
• Xây dựng các trang web động trên môi
trường ASP.NET
• Xây dựng hoàn chỉnh và triển khai ứng
dụng web trên môi trường ASP.NET
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về ASP.Net 2. Server Controls
3. Điều khiển Kiểm tra 4. Các điều khiển dữ liệu
5. User Controls 6. Quản lý ứng dụng Web
7. Web Services 8. Xây dựng hoàn chỉnh UD Web
9. Bảo mật website 10. Triển khai ứng dụng Web
11. Giới thiệu và sử dụng Ajax
4 4 Ngành lập trình - CSDL
HẾT
2 2 Ngành lập trình - CSDL
Mục tiêu
• Tìm hiểu môi trường phát triển ứng
dụng web với Visual Studio.Net 2005
• Tạo và tổ chức một ứng dụng web đơn giản
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về lập trình ứng dụng Web
2. Giới thiệu về ASP.Net
3. Tạo ứng dụng web đầu tiên
4. Tổ chức lưu trữ ứng dụng web
5. Làm việc với tập tin cấu hình
4 4 Ngành lập trình - CSDL
Tổng quan về lập trình ứng dụng Web
• Quá trì...
386 trang |
Chia sẻ: Khủng Long | Lượt xem: 1327 | Lượt tải: 2
Bạn đang xem trước 20 trang mẫu tài liệu Lập trình web với asp.net, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CÁC KNLTCS
PHẦN 1: GIỚI THIỆU
2 2 Ngành lập trình - CSDL
Mục tiêu
• Xây dựng các trang web động trên môi
trường ASP.NET
• Xây dựng hoàn chỉnh và triển khai ứng
dụng web trên môi trường ASP.NET
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về ASP.Net 2. Server Controls
3. Điều khiển Kiểm tra 4. Các điều khiển dữ liệu
5. User Controls 6. Quản lý ứng dụng Web
7. Web Services 8. Xây dựng hoàn chỉnh UD Web
9. Bảo mật website 10. Triển khai ứng dụng Web
11. Giới thiệu và sử dụng Ajax
4 4 Ngành lập trình - CSDL
HẾT
2 2 Ngành lập trình - CSDL
Mục tiêu
• Tìm hiểu môi trường phát triển ứng
dụng web với Visual Studio.Net 2005
• Tạo và tổ chức một ứng dụng web đơn giản
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về lập trình ứng dụng Web
2. Giới thiệu về ASP.Net
3. Tạo ứng dụng web đầu tiên
4. Tổ chức lưu trữ ứng dụng web
5. Làm việc với tập tin cấu hình
4 4 Ngành lập trình - CSDL
Tổng quan về lập trình ứng dụng Web
• Quá trình Request - Response
• Web Server – Web Browser – HTTP
• Mô hình ứng dụng
5 5 Ngành lập trình - CSDL
• Quá trình Request – Response
Bài 1: Tổng quan về ASP.NET
Tổng quan về lập trình ứng dụng Web
Web Browser Web Server
Http Request
Http Response
Internet
6 6 Ngành lập trình - CSDL
• Web Server – Web Browser – HTTP
− Web Server nhận và điều phối các yêu cầu từ Web
Browser và gởi kết quả
− Web Browser thể hiện dữ liệu, tập hợp dữ liệu của người
dùng và gởi đến Web Server
− HTTP dùng để trao đổi thông tin giữa Web Browser với
Web Server
Bài 1: Tổng quan về ASP.NET
Tổng quan về lập trình ứng dụng Web
7 7 Ngành lập trình - CSDL
• Web Server – Web Browser – HTTP
Bài 1: Tổng quan về ASP.NET
Tổng quan về lập trình ứng dụng Web
Web Browser Web Server
Client gởi yêu cầu
1. Xử lý yêu cầu
2. Thi hành code
3. Lưu trữ dữ liệu
4. Gởi kết quả Thể hiện lên trang web
Default.aspx
Server hồi đáp
8 8 Ngành lập trình - CSDL
• Mô hình ứng dụng
Bài 1: Tổng quan về ASP.NET
Tổng quan về lập trình ứng dụng Web
9 9 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về lập trình ứng dụng Web
2. Giới thiệu về ASP.Net
3. Tạo ứng dụng web đầu tiên
4. Tổ chức lưu trữ ứng dụng web
5. Làm việc với tập tin cấu hình
10 10 Ngành lập trình - CSDL
Giới thiệu về ASP.NET
• Tìm hiểu về ASP.Net
• Một số các đặc điểm của ASP.NET
• Quá trình xử lý trang ASPX
11 11 Ngành lập trình - CSDL
• Tìm hiểu về ASP.Net
− ASP.NET trong
.Net Framework
Bài 1: Tổng quan về ASP.NET
Giới thiệu về ASP.Net
Operating System
Common Language Runtime
Base Class Library
ADO .NET and XML
ASP .NET
Web Forms - Web Services
Mobile Internet Toolkit
Windows
Forms
Common Language Specification
VB C++ C# J#
12 12 Ngành lập trình - CSDL
• Tìm hiểu về ASP.Net
− Hệ thống
namespace
Bài 1: Tổng quan về ASP.NET
Giới thiệu về ASP.Net
System
System.Data System.Xml
System.Web
Globalization
Diagnostics
Configuration
Collections
Resources
Reflection
Net
IO
Threading
Text
ServiceProcess
Security
Common
OleDb
SQLTypes
SqlClient
XPath
XSLT
Runtime
InteropServices
Remoting
Serialization
Serialization
Configuration SessionState
Caching Security
Services
Description
Discovery
Protocols
UI
HtmlControls
WebControls
System.Drawing
Imaging
Drawing2D
Text
Printing
System.Windows.Forms
Design
ComponentModel
13 13 Ngành lập trình - CSDL
• Tìm hiểu về ASP.Net
− ASP.Net là kỹ thuật lập trình và phát triển ƯD web ở
phía Server trên môi trường Visual Studio .Net
Bài 1: Tổng quan về ASP.NET
Giới thiệu về ASP.Net
14 14 Ngành lập trình - CSDL
• Một số đặc điểm về ASP.Net
− Trang Asp.Net được biên dịch trước, thành tập tin DLL
mà Server có thể thi hành
− Tự động phát sinh mã HTML cho các Server control
tương ứng với từng loại Browser
− Hỗ trợ các ngôn ngữ khác nhau trong cùng một ứng
dụng
−
Bài 1: Tổng quan về ASP.NET
Giới thiệu về ASP.Net
15 15 Ngành lập trình - CSDL
• Quá trình xử lý trang aspx
Bài 1: Tổng quan về ASP.NET
Giới thiệu về ASP.Net
Trang
dạng
.DLL
Khởi tạo, xử
lý và Render
Biên dịch
ASPX
File Yêu cầu
ASPX
Engine
Phân tích cú
pháp
Hồi đáp
Yêu cầu Khởi tạo
Hồi đáp
Code-
behind
class
Generated
Page
Class
Phát sinh
16 16 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về lập trình ứng dụng Web
2. Giới thiệu về ASP.Net
3. Tạo ứng dụng web đầu tiên
4. Tổ chức lưu trữ ứng dụng web
5. Làm việc với tập tin cấu hình
17 17 Ngành lập trình - CSDL
Tạo ứng dụng web đầu tiên
• Khởi động MS Visual Studio .Net
• Tạo mới một ứng dụng web
• Làm quen với các thành phần giao diện
18 18 Ngành lập trình - CSDL
• Khởi động MS Visual Studio .Net
Bài 1: Tổng quan về ASP.NET
Tạo ứng dụng web đầu tiên
19 19 Ngành lập trình - CSDL
• Tạo mới một ứng dụng
− Tạo một ứng dụng nhỏ với một câu chào
− Các kiểu Web site (Web Site Types):
• File System: không cần cài đặt IIS, VS 2005 sẽ cung cấp web
server riêng khi ta thi hành ứng dụng
• Local HTTP: phải có IIS và khai báo URL đã được ánh xạ
• FTP: sử dụng giao thức truyền file để quản lý các tập tin trong
web site
Bài 1: Tổng quan về ASP.NET
Tạo ứng dụng web đầu tiên
20 20 Ngành lập trình - CSDL
• Tạo mới một ứng dụng
− Lưu trang web với font Unicode, trang web có phần mở
rộng: aspx (file giao diện) và aspx.cs (file code-behind)
− Xác định trang khởi động
− Thi hành ứng dụng
Bài 1: Tổng quan về ASP.NET
Tạo ứng dụng web đầu tiên
21 21 Ngành lập trình - CSDL
• Làm quen với các thành phần giao diện
− Minh họa trên môi trường VS.Net 2005
Bài 1: Tổng quan về ASP.NET
Tạo ứng dụng web đầu tiên
22 22 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về lập trình ứng dụng Web
2. Giới thiệu về ASP.Net
3. Tạo ứng dụng web đầu tiên
4. Tổ chức lưu trữ ứng dụng web
5. Làm việc với tập tin cấu hình
23 23 Ngành lập trình - CSDL
Tổ chức lưu trữ ứng dụng web
• Giới thiệu các thư mục do ASP.Net cung cấp
− App_Data
− App_Code
−
24 24 Ngành lập trình - CSDL
• Tổng quát
− ASP.Net cung cấp một số tên tập tin và thư mục dùng
để phục vụ việc tổ chức lưu trữ một ứng dụng, trong
đó:
• Default page: tự động thi hành khi người dùng nhập tên miền
• Application folders: dùng để lưu trữ các tập tin có phần mở
rộng tương ứng với ý nghĩa của thư mục lưu trữ
Bài 1: Tổng quan về ASP.NET
Tổ chức lưu trữ ứng dụng
25 25 Ngành lập trình - CSDL
• Giới thiệu một số thư mục thường dùng
− App_Data: lưu trữ tập tin dữ liệu như .mdb, .mdf, .xml,
− App_Code: lưu trữ các tập tin chứa source code, có phần
mở rộng .vb, .cs,
− App_Themes: lưu trữ các tập tin dùng để tạo giao diện
chung theo chủ đề, thường có phần mở rộng .skin, .css
hoặc các file hình ảnh
Bài 1: Tổng quan về ASP.NET
Tổ chức lưu trữ ứng dụng
26 26 Ngành lập trình - CSDL
• Thao tác tạo các thư mục
− Trên thực đơn: chọn
Website Add ASP.NET Folder chọn thư mục cần tạo
Bài 1: Tổng quan về ASP.NET
Tổ chức lưu trữ ứng dụng
27 27 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về lập trình ứng dụng Web
2. Giới thiệu về ASP.Net
3. Tạo ứng dụng web đầu tiên
4. Tổ chức lưu trữ ứng dụng web
5. Làm việc với tập tin cấu hình
28 28 Ngành lập trình - CSDL
Làm việc với tập tin cấu hình
• Tập tin cấu hình – Configuration files
• Xử lý tập tin cấu hình
• Cập nhật tập tin cấu hình
29 29 Ngành lập trình - CSDL
• Tập tin cấu hình – Configuration files
− Dùng để khai báo các thông số mặc định cho ứng dụng,
có dạng XML
− Tập tin cấu hình đầu tiên là Machine.config, được đặt
trong thư mục Configuration của máy
− Machine.config cấu hình cho tất cả các ứng dụng .NET
như Windows, Console, Web Application,
Bài 1: Tổng quan về ASP.NET
Làm việc với tập tin cấu hình
30 30 Ngành lập trình - CSDL
• Tập tin cấu hình – Configuration files
− Web.config gốc chứa các khai báo mặc định của Web
Server, nằm trong cùng thư mục với Machine.config
− Web.config có thể ghi đè lên một số khai báo trong
Machine.config
− Trong mỗi ứng dụng và các thư mục con của ứng dụng
Web có thể có tập tin Web.config riêng
Bài 1: Tổng quan về ASP.NET
Làm việc với tập tin cấu hình
31 31 Ngành lập trình - CSDL
• Xử lý tập tin cấu hình
− Khi ứng dụng Web được thi hành, sẽ cache các khai báo
theo trình tự như sau:
Bài 1: Tổng quan về ASP.NET
Làm việc với tập tin cấu hình
32 32 Ngành lập trình - CSDL
• Xử lý tập tin cấu hình
Bài 1: Tổng quan về ASP.NET
Làm việc với tập tin cấu hình
Web.config trong t.mục
/ManHinh/SanPham
Web.config trong t.mục
/ManHinh/QuanTri
Web.config trong t.mục /ManHinh
Web.config trong t.mục /gốc
Web.config trong t.mục Configuraton
Machine.config trong t.mục Configuraton
Subdirectories *
Web App *
Root Default Web
Global machine
33 33 Ngành lập trình - CSDL
• Cập nhật tập tin cấu hình
− Mở tập tin và cập nhật trực tiếp
Hoặc
− Dùng Web Site Administrator Tool do VS 2005 cung cấp,
thao tác:
• Trên thực đơn chọn: Website ASP.NET Configuation
Bài 1: Tổng quan về ASP.NET
Làm việc với tập tin cấu hình
34 34 Ngành lập trình - CSDL
HẾT
Bài 1: Tổng quan về ASP.NET
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Sử dụng thành thạo các điều khiển:
− HTML Server Controls
− Web Server Controls
− Specialized Controls
• Các sự kiện cơ bản trên trang .aspx
• Làm việc với đối tượng ViewState
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về ASP.Net Server Controls
2. Đối tượng Asp.Net Page
4. Web Server Controls
5. Các điều khiển khác
6. Đối tượng ViewState
3. HTML Server Controls
4 4 Ngành lập trình - CSDL
Tổng quan về ASP.NET Server Controls
• Giới thiệu các nhóm điểu khiển trên thanh
Toolbox
• Các kiểu Server Control
5 5 Ngành lập trình - CSDL
• Giới thiệu các nhóm điều khiển trên thanh
ToolBox
Bài 2: Server Controls
Tổng quan về ASP.NET Server Controls
6 6 Ngành lập trình - CSDL
• Các kiểu Server Controls
− HTML Server Controls
− Web Server Controls
Bài 2: Server Controls
Tổng quan về ASP.NET Server Controls
7 7 Ngành lập trình - CSDL
• Khi nào sử dụng HTML Server Control
− Điều khiển cần phải có đoạn JavaScript kèm theo sự kiện
− Có nhiều code JavaScript tham chiếu đến điều khiển đó
• Khi nào sử dụng Web Server Control
− Không rơi vào các trường hợp trên
Bài 2: Server Controls
Tổng quan về ASP.NET Server Controls
8 8 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Server Controls
2. Đối tượng Asp.Net Page
4. Web Server Controls
5. Các điều khiển khác
6. Đối tượng ViewState
3. HTML Server Controls
9 9 Ngành lập trình - CSDL
ASP.NET Page
• Sự kiện
• Thuộc tính
10 10 Ngành lập trình - CSDL
• Sự kiện
− Trình tự các sự kiện xảy ra khi render một trang web
(Page Life-Cycle Events)
Bài 3: Server Controls
ASP.NET Page
11 11 Ngành lập trình - CSDL
Bài 3: Server Controls
ASP.NET Page
Page_PreInit()
Page_Init()
Page_IntComplete()
Page_PreLoad()
Page_Load()
Page_UnLoad()
Page_PreRender()
Thuờng dùng: kiểm tra trang có Postback không,
tạo Theme động, Master động, điều khiển động
Thuờng dùng để đọc hoặc đặt giá trị thuộc tính cho
điều khiển
Cài đặt các xử lý khởi động ban đầu, thường dùng
tạo connection
Xảy ra trước khi trang web được render, trả kết
quả về cho Client
Nếu có PostBack thì phát sinh sự kiện của điều
khiển, như Click của Button,
Minh họa
12 12 Ngành lập trình - CSDL
• Thuộc tính
− IsPostBack (True/False): trả về trạng thái của trang web,
cho biết được load lần đầu tiên hay không
− MaintainScrollPositionOnPostBack (True/False): có giữ
nguyên vị trí mà người dùng đang đọc sau khi PostBack
không
Bài 3: Server Controls
ASP.NET Page
13 13 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Server Controls
2. Đối tượng Asp.Net Page
4. Web Server Controls
5. Các điều khiển khác
6. Đối tượng ViewState
3. HTML Server Controls
14 14 Ngành lập trình - CSDL
HTML Server Controls
• HTML Controls
• HTML Server Controls
15 15 Ngành lập trình - CSDL
• HTML Controls
− Được tạo ra từ tag HTML tĩnh
− Thường được sử dụng lập trình ở phía client
− Thuộc tên miền System.Web.UI.HtmlControls
Bài 2: Server Controls
HTML Server Controls
Minh họa
16 16 Ngành lập trình - CSDL
• HTML Server Controls
− Sử dụng HTML Controls trong quá trình lập trình ở phía
server, ta thực hiện như sau:
Bổ sung thuộc tính runat=“server” vào tag điều khiển
Hoặc chọn chức năng Run As Server Control từ thực đơn
ngữ cảnh
− Điểu khiển có thuộc tính runat=“server” gọi là HTML
Server Controls
Bài 2: Server Controls
HTML Server Controls
Minh họa
17 17 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Server Controls
2. Đối tượng Asp.Net Page
4. Web Server Controls
5. Các điều khiển khác
6. Đối tượng ViewState
3. HTML Server Controls
18 18 Ngành lập trình - CSDL
Web Server Controls
• Giới thiệu
• Label
• HyperLink
• TextBox
• Image
• Button, ImageButton, LinkButton
• CheckBox, RadioButton
19 19 Ngành lập trình - CSDL
• Giới thiệu
− Web Server Controls là các đối tượng của .Net
Framework
− Được chuyển đổi sang dạng HTML tĩnh lúc thực thi
− Thường được sử dụng lập trình ở phía server
− Thuộc tên miền System.Web.UI.WebControls
− HTML Source lúc thiết kế có dạng:
Bài 2: Server Controls
Web Server Controls
20 20 Ngành lập trình - CSDL
• Label
− Dùng để hiển thị thông tin
− Thuộc tính Text có thể nhận và hiển thị nội dung với các
tag HTML.
Bài 2: Server Controls
Web Server Controls
Minh họa
21 21 Ngành lập trình - CSDL
• TextBox
− Dùng để nhập và hiển thị dữ liệu
− Text: nội dung chứa trong TextBox
− TextMode (SingleLine,MultiLine,Password ): định dạng
hiển thị của Textbox.
− Wrap: có được phép tự động xuống dòng hay không
Bài 2: Server Controls
Web Server Controls
Minh họa
22 22 Ngành lập trình - CSDL
• HyperLink
− Dùng để tạo ra các liên kết siêu văn bản
− ImageURL: hình ảnh hiển thị trên điều khiển (ưu tiên)
− Text: chuỗi văn bản hiển thị trên điều khiển.
− NavigateUrl: đường dẫn cần liên kết đến
− Target(_blank, _self, _parent): dạng cửa sổ hiển thị trang
kết quả
Bài 2: Server Controls
Web Server Controls
Minh họa
23 23 Ngành lập trình - CSDL
• Image
− Dùng để hiển thị hình ảnh
− ImageURL: đường dẫn đến tập tin hình ảnh cần hiển thị.
− AlternateText: chuỗi văn bản sẽ hiển thị khi đường dẫn
của thuộc tính ImageURL không tồn tại.
Bài 2: Server Controls
Web Server Controls
Minh họa
24 24 Ngành lập trình - CSDL
• Button, LinkButton, ImageButton
− Sẽ PostBack về server khi được chọn
− CausesValidation(True/False): có kiểm tra tính hợp lệ
trên trang web không
− OnClientClick: ngôn ngữ Client-side script sẽ được thi
hành ở mức client
Bài 2: Server Controls
Web Server Controls
Minh họa
25 25 Ngành lập trình - CSDL
• CheckBox và RadioButton
− Checked: cho biết trạng thái của điều khiển có được
chọn hay không
− TextAlign: qui định vị trí hiển thị của điều khiển so với
chuỗi văn bản
− GroupName: nhóm các điều khiển thành một nhóm, dành
cho RadioButton
Bài 2: Server Controls
Web Server Controls
Minh họa
26 26 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Server Controls
2. Đối tượng Asp.Net Page
4. Web Server Controls
5. Các điều khiển khác
6. Đối tượng ViewState
3. HTML Server Controls
27 27 Ngành lập trình - CSDL
Các điều khiển khác
• Panel và PlaceHolder
• Table
• Calendar
• FileUpLoad
• View, MultiView
28 28 Ngành lập trình - CSDL
• Panel, PlaceHolder
− Được sử dụng để chứa các điều khiển khác
− Điều khiển Panel cho phép đặt những điều khiển khác
vào bên trong lúc thiết kế còn PlaceHolder thì không
− Xử lý thêm điều khiển khác vào lúc thực thi:
TextBox txtSo_A = new TextBox();
.Controls.Add(txtSo_A);
Bài 2: Server Controls
Các điều khiển khác
Minh họa
29 29 Ngành lập trình - CSDL
• Table
− Dùng để thao tác, thể hiện dữ liệu dưới dạng bảng
− Bao gồm tập hợp các dòng - TableRow (thông qua
thuộc tính Rows), mỗi dòng được tạo thành từ tập hợp
các ô - TableCell (thông qua thuộc tính Cells)
− Mỗi ô trong Table có thể chứa các điều khiển khác
Bài 2: Server Controls
Các điều khiển khác
Minh họa
30 30 Ngành lập trình - CSDL
• Calendar
− Dùng để thể hiện lịch trong tháng
− Sự kiện:
SelectionChanged: khi thay đổi ngày khác
VisbleMonthChanged: khi thay đổi tháng khác
DayRender: khi các ngày được tạo ra
Bài 2: Server Controls
Các điều khiển khác
Minh họa
31 31 Ngành lập trình - CSDL
• FileUpLoad
− Dùng để upload tập tin về server
− Thuộc tính:
• HashFile (True/False): điều khiển có khai báo tập tin chưa
• FileName: trả về tên tập tin được upload
− Phương thức:
• SaveAs: upload tập tin lên Server
Bài 2: Server Controls
Các điều khiển khác
Minh họa
32 32 Ngành lập trình - CSDL
• MultiView và View
− Là control container, dùng để chứa các điều khiển khác
− MultiView gồm có nhiều View
− Thuộc tính:
• ActiveViewIndex: chỉ số của view hiện hành
− Phương thức:
• SetActiveView: thay đổi view hiện hành
Bài 2: Server Controls
Các điều khiển khác
Minh họa
33 33 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Server Controls
2. Đối tượng Asp.Net Page
4. Web Server Controls
5. Các điều khiển khác
6. Đối tượng ViewState
3. HTML Server Controls
34 34 Ngành lập trình - CSDL
Đối tượng ViewState
• Giới thiệu
• Sử dụng
35 35 Ngành lập trình - CSDL
• Giới thiệu
− Dùng để lưu lại những thông tin của trang web sau khi
Web Server gởi kết quả về cho client
Quản lý tình trạng ở mức client
− Thuộc tính EnableViewState của trang web cho phép sử
dụng đối tượng này hay không (True/False)
Bài 2: Server Controls
Đối tượng ViewState
Minh họa
36 36 Ngành lập trình - CSDL
• Sử dụng:
Gán giá trị cho ViewState:
ViewState[“Tên trạng thái”] = ;
Nhận giá trị:
= ViewState[“Tên trạng thái”];
Lưu ý: “Tên trạng thái” có phân biệt chữ HOA/thường
Bài 2: Server Controls
Đối tượng ViewState
Minh họa
37 37 Ngành lập trình - CSDL
HẾT
Bài 2: Server Controls
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Sử dụng thành thạo các điều khiển
kiểm tra dữ liệu
3 3 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
4 4 Ngành lập trình - CSDL
• Dùng để kiểm tra tính hợp lệ của dữ liệu
• Tự động phát sinh code kiểm tra dữ liệu ở
client-side tùy thuộc vào web browser có hỗ trợ
thực thi script ở client không
Bài 3: Điều khiển kiểm tra dữ liệu
Giiới thiệu
5 5 Ngành lập trình - CSDL
• Qui trình kiểm tra:
Bài 3: Điều khiển kiểm tra dữ liệu
Giiới thiệu
Dữ liệu nhập
Hợp lệ?
Hợp lệ?
Các xử lý
Không
Có
Client
Server Có
Không
6 6 Ngành lập trình - CSDL
• Một số thuộc tính cơ bản
− ControlToValidate: tên điều khiển cần kiểm tra
− Text: chuỗi thông báo xuất hiện khi có lỗi
− ErrorMessage: chuỗi thông báo xuất hiện trong điều
khiển Validation Summary
− EnableClientScript: cho phép thực hiện kiểm tra ở phía
Client hay không (True/False)
Bài 3: Điều khiển kiểm tra dữ liệu
Giới thiệu
7 7 Ngành lập trình - CSDL
• Một số thuộc tính cơ bản
− SetFocusError(True/False): đặt con trỏ vào điều khiển
khi dữ liệu không hợp lệ
− ValidationGroup: tên nhóm. Nhóm các điều khiển có
cùng giá trị ValidationGroup
Bài 3: Điều khiển kiểm tra dữ liệu
Giới thiệu
8 8 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
9 9 Ngành lập trình - CSDL
• Kiểm tra giá trị trong điều khiển phải được nhập
• Thuộc tính InitialValue:
− Giá trị khởi động
− Giá trị nhập vào phải khác với giá trị của thuộc tính này
Bài 3: Điều khiển kiểm tra dữ liệu
RequiredFieldValidatior
Minh họa
10 10 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
11 11 Ngành lập trình - CSDL
• So sánh giá trị của một điều khiển với giá trị của một
điều khiển khác
• So sánh giá trị của một điều khiển với một giá trị được
xác định trước
• Trong trường hợp không nhập dữ liệu, điều khiển sẽ
không thực hiện kiểm tra
• Thuộc tính :
− ControlToCompare (ưu tiên)
− Operator
− Type
− ValueToCompare
Bài 3: Điều khiển kiểm tra dữ liệu
CompareValidator
Minh họa
12 12 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
13 13 Ngành lập trình - CSDL
• Kiểm tra giá trị của điều khiển nằm trong đoạn
[min-max]
• Thuộc tính:
− MinimumValue: giá trị nhỏ nhất
− MaximumValue: giá trị lớn nhất
− Type: xác định kiểu dữ liệu để kiểm tra
(String/Integer/Double/Date/Currency)
Bài 3: Điều khiển kiểm tra dữ liệu
RangeValidator
Minh họa
14 14 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
15 15 Ngành lập trình - CSDL
• Kiểm tra giá trị của điều khiển phải theo mẫu
qui định
• Thuộc tính:
− ValidationExpression: qui định mẫu kiểm tra dữ liệu dựa
vào các ký hiệu qui định
Bài 3: Điều khiển kiểm tra dữ liệu
RegularExpressionValidator
Minh họa
16 16 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
17 17 Ngành lập trình - CSDL
• Cho phép người dùng tự viết hàm xử lý kiểm
tra lỗi
• Thuộc tính
− ValidateEmptyText(True/False): có kiểm tra khi giá trị
nhập là rỗng
− ClientValidationFunction: tên hàm kiểm tra ở mức client
• Sự kiện ServerValidate: dùng để xử lý kiểm tra
dữ liệu ở mức Server
Bài 3: Điều khiển kiểm tra dữ liệu
CustomValidator
Minh họa
18 18 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu chung 2. RequireFieldValidator
4. RangeValidator
5. RegularExpressionValidator 6. CustomValidator
3. CompareValidator
7. ValidationSummary
19 19 Ngành lập trình - CSDL
• Dùng để hiển thị bảng lỗi - tất cả các lỗi hiện
có trên trang Web (thuộc tính ErrorMessage)
• Thuộc tính
− HeaderText: chuỗi văn bản của dòng tiêu đề
− ShowMessageBox(True/False): có thể hiện hộp thọai
thông báo lỗi trên Browser
Bài 3: Điều khiển kiểm tra dữ liệu
ValidationSummary
Minh họa
20 20 Ngành lập trình - CSDL
HẾT
Bài 3: Điều khiển kiểm tra dữ liệu
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Sử dụng thành thạo các điều khiển thuộc
nhóm Data
• Tạo trang web có dạng Master-Details
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan
2. Các điều khiển Danh sách
4. Các điều khiển DataSource
5. Điều khiển DataList
6. DetailsView và FormView
3. Điều khiển GridView
4 4 Ngành lập trình - CSDL
• Phân loại
− Điều khiển Danh sách - List Controls
− Điều khiển liên kết dữ liệu – Data-Bound controls
− Điều khiển nguồn dữ liệu – Data-Source controls
Bài 4: Các điều khiển dữ liệu
Tổng quan
5 5 Ngành lập trình - CSDL
• Các điều khiển này có khả năng liên kết với
một nguồn dữ liệu
• Nguồn dữ liệu dùng để liên kết: ArrayList,
SortedList, HashTable, DataSet, DataTable,
DataView, DataReader,
Bài 4: Các điều khiển dữ liệu
Tổng quan
6 6 Ngành lập trình - CSDL
• Thao tác liên kết dữ liệu của điều khiển List
và Data-Bound: 2 cách
− Lúc thực thi: thường sử dụng thuộc tính DataSource
của điều khiển
− Lúc thiết kế: sử dụng các điều khiển Data source
(AccessDataSource, SqlDataSource, ) kết hợp với
thuộc tính DataSourceID
Bài 4: Các điều khiển dữ liệu
Tổng quan
7 7 Ngành lập trình - CSDL
Nội dung
1. Tổng quan
2. Các điều khiển Danh sách
4. Các điều khiển DataSource
5. Điều khiển DataList
6. DetailsView và FormView
3. Điều khiển GridView
8 8 Ngành lập trình - CSDL
Điều khiển Danh sách – List Controls
• ListBox và DropdownList
• CheckBoxList và RadioButtonList
• BulletedList
9 9 Ngành lập trình - CSDL
• ListBox và DropDownList
− Dùng để hiển thị danh sách
− Items: chứa tập hợp các mục chọn, có thể thêm vào lúc
thiết kế (Design) hoặc lúc thực thi (Run-time)
− Rows: số dòng hiển thị của ListBox
− SelectionMode: cách thức chọn các mục trong ListBox
(Single/Multi)
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
10 10 Ngành lập trình - CSDL
• ListBox và DropDownList
− DataTextField: tên field có giá trị thể hiện trên điều khiển
− DataValueField: tên field có gía trị lưu trữ
− AutoPostBack: có tự động PostBack về Server khi mục
chọn của điều khiển bị thay đổi (True/False)
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
11 11 Ngành lập trình - CSDL
• ListBox và DropDownList
− Một số thuộc tính lúc thực thi:
SelectedIndex: chỉ số của mục được chọn
SelectedItem: mục được chọn (kiểu ListItem)
SelectedValue: giá trị của mục được chọn
− Sự kiện SelectedIndexChanged: xảy ra khi thay đổi dòng
được chọn
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
12 12 Ngành lập trình - CSDL
• ListBox và DropDownList
− Một số thao tác:
Thêm mới một mục vào cuối danh sách
Items.Add() hoặc Items.Add()
Thêm mới một mục tại một vị trí xác định
Items.Insert(,) hoặc
Items.Insert(,)
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
13 13 Ngành lập trình - CSDL
• ListBox và DropDownList
− Một số thao tác:
Xóa một mục ra khỏi danh sách
Items.Remove() hoặc
Items.Remove()
Xóa tất cả các mục trong danh sách
Items.clear
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
14 14 Ngành lập trình - CSDL
• ListBox và DropDownList
− Một số thao tác:
Kiểm tra một mục đã có trong danh sách chưa
Items.Contains() As Boolean
hoặc Items.IndexOf() As Integer
Lấy giá trị tổng số mục có trong danh sách
Items.Count
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
15 15 Ngành lập trình - CSDL
• CheckBoxList và RadioButtonList
− RepeatColumns: qui định số cột hiển thị
− RepeatDirection: qui định hình thức hiển thị
(Vertical/Horizontal)
− Các thao tác thêm, xóa các mục chọn: giống ListBox
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
16 16 Ngành lập trình - CSDL
• BulletedList
− BulletStyle: style dùng làm Bullet
− BulletImageUrl: URL của tập tin hình ảnh, phải có
BulletStyle=CustomImage
− DisplayMode: hình thức thể hiện (Text, HyperLink,
LinkButton)
− Các thao tác thêm, xóa các mục chọn: giống ListBox
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
17 17 Ngành lập trình - CSDL
• Thao tác liên kết dữ liệu
− Dòng 3, 4 có thể bỏ qua tùy vào nguồn dữ liệu
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển danh sách – List controls
1- ArrayList = new ArrayList(); //Khởi tạo nguồn
.Add(Object); //Thêm dữ liệu
..
2- .DataSource=; //Khai báo nguồn dữ liệu
3- .DataTextField=“Field”; //Khai báo field thể hiện
4- .DataValueField=“Field”; //Khai báo filed lưu trữ
5- .DataBind(); //Liên kết
18 18 Ngành lập trình - CSDL
Nội dung
1. Tổng quan
2. Các điều khiển Danh sách
4. Các điều khiển DataSource
5. Điều khiển DataList
6. DetailsView và FormView
3. Điều khiển GridView
19 19 Ngành lập trình - CSDL
GridView
• Giới thiệu
• Liên kết dữ liệu và định dạng
• Các xử lý trên GridView
20 20 Ngành lập trình - CSDL
• Giới thiệu
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
21 21 Ngành lập trình - CSDL
• Giới thiệu
− Dùng hiển thị dữ liệu dạng dòng-cột (Tabular)
− Thể hiện trên trình duyệt dưới dạng HTML Table
− Đặc điểm:
Hỗ trợ cơ ch ế sắp xếp dữ liệu
Hỗ trợ cơ chế phân trang dữ liệu
Có thể cập nhật dữ liệu trực tiếp trên lưới
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
22 22 Ngành lập trình - CSDL
• Liên kết dữ liệu và định dạng
− Thao tác liên kết dữ liệu lúc thực thi:
.DataSource = ;
.DataBiding();
− Thuộc tính định dạng:
• HtmlEncoded(True/False): cho phép mã hóa dưới dạng
HTML không
• DataFormatString: định dạng cho giá trị của field liên kết
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
23 23 Ngành lập trình - CSDL
• Các xử lý
− Sắp xếp dữ liệu:
Khai báo t.t AllowSorting = True
Khai báo tên cột cần sắp xếp trong ô Sort expression
Sử dụng sự kiện Sorting để xử lý:
Liên kết dữ liệu và sắp xếp theo cột cần sắp xếp
Giá trị e.SortExpression cho biết thông tin của cột được
chọn
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
24 24 Ngành lập trình - CSDL
• Các xử lý
− Phân trang:
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
25 25 Ngành lập trình - CSDL
• Các xử lý
− Phân trang:
Khai báo t.t AllowPaging = True
Khai báo t.t PageSize =
Sử dụng sự kiện PageIndexChanging để xử lý:
.PageIndex = e.NewpageIndex ;
//Liên kết dữ liệu
Giá trị e.NewPageIndex cho biết chỉ số trang được chọn
Thuộc tính PageIndex: chỉ số trang hiện hành trên lưới
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
26 26 Ngành lập trình - CSDL
• Các xử lý
− Tùy biến các cột:
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
27 27 Ngành lập trình - CSDL
• Các xử lý
− Tùy biến các cột:
Bước 1: khi thiết kế, cột thể hiện có loại là TemplateField
Bước 2: dành cho xử lý đơn giản
Chèn một điều khiển vào cột TemplateField, liên kết DL với điều
khiển này
Khai báo biểu thức trong ô Custom binding Code Expression
Ví dụ: hiển thị cột Gioi_tinh là “Nam” hay “Nữ”
( (bool) Eval( "Gioi_tinh")==false?"Nữ":"Nam")
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
28 28 Ngành lập trình - CSDL
• Các xử lý
− Tùy biến các cột:
Bước 2: dành cho xử lý phức tạp, viết code trong sự kiện
RowDataBound
− RowDataBound: xảy ra khi lưới được liên kết dữ liệu
(DataBinding). Ứng với mỗi dòng, xảy ra sự kiện này
− e.Row.RowIndex: chỉ số của dòng hiện hành (Header /Footer= -1)
− e.Row.RowType: lọai của mỗi dòng (Dòng chẵn, lẽ, )
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
29 29 Ngành lập trình - CSDL
• Các xử lý
− Tùy biến các cột:
Bước 2: dành cho xử lý phức tạp, viết code trong sự kiện
RowDataBound
− e.Row.FindControl(“Tên điều khiển”): tìm kiếm điều khiển trên
dòng hiện hành
− DataBinder.Eval(e.Row.DataItem,“Tên cột”): truy xuất dữ liệu của
cột trên dòng hiện hành
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
30 30 Ngành lập trình - CSDL
• Các xử lý
− Giới thiệu 3 loại cột trong GridView:
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
31 31 Ngành lập trình - CSDL
• Các xử lý
− Giới thiệu 3 loại cột trong GridView:
• ImageField
DataImageUrlField: chứa Image URL liên kết với field
DataImageUrlFormatString: định dạng cho giá trị liên kết với
thuộc tính DataImageUrlField
Minh họa
Ví dụ:
DataImageUrlField: Hinh_minh_hoa
DataImageUrlFormatString: ~/Hinh_du_lieu/{0}.jpg
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
32 32 Ngành lập trình - CSDL
• Các xử lý
− Giới thiệu 3 loại cột trong GridView:
• HyperLinkField
DataNavigateUrlFields: tên field liên kết với thuộc tính
NavigateUrl của hyperlink
DataNavigateUrlFormatString: định dạng cho giá trị liên kết với
thuộc tính DataNavigateUrlFields
DataTexField: field có nội dung được hiển thị
Ví dụ: DataNavigateUrlFields: href
DataNavigateUrlFormatString: {0}
DataTextField: Tencty Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
33 33 Ngành lập trình - CSDL
• Các xử lý
− Giới thiệu 3 loại cột trong GridView:
• ButtonField
ButtonType: kiểu nút lệnh (Button/Link/Image)
CommandName: tên kết hợp với nút lệnh
DataTexField: field có nội dung được hiển thị
DataTextFormatString: định dạng chuỗi thể hiện trên nút
Ví dụ: CommandName: Chon
DataTextField: stt
DataTextFormatString: chọn: {0}
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
34 34 Ngành lập trình - CSDL
• Các xử lý
− Giới thiệu 3 loại cột trong GridView:
• ButtonField
Sự kiện RowCommand: xảy ra khi nhấn nút lệnh
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
35 35 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
36 36 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
Yêu cầu đầu tiên: khai báo các field dùng làm khóa cho
lưới
.DataKeyNames = new string[ ] {“tên field1”, };
(có thể khai báo trên cửa sổ Properties)
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
37 37 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
Giai đọan 1: thiết kế, chọn loại cột thể hiện là
CommandField
Thuộc tính CommandName của các nút sau có giá trị
mặc định theo chức năng tương ứng:
Nút Delete CommandName = “Delete”
Nút Edit CommandName = “Edit”
Nút Update CommandName = “Update”
Nút Cancel, Select Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
38 38 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
Giai đọan 2: xử lý. Sử dụng các sự kiện sau:
RowDeleting: xảy ra khi nhấn nút Delete, trước khi GridView xóa dòng
RowEditing: xảy ra khi nhấn nút Edit, trước khi GridView chuyển sang
chế độ edit
RowUpadating: xảy ra khi nhấn nút Update, trước khi GridView cập nhật
RowCanceling: xảy ra khi nhấn nút Cancel, trước khi GridView thoát khỏi
chế độ edit
SelectedIndexChanging: khi nhấn nút Select
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
39 39 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
Giai đọan 2: xử lý. Sử dụng các thuộc tính thường dùng sau:
.EditIndex: chỉ số dòng được sửa ở trạng thái edit
e.NewEditIndex: chỉ số của dòng đang sửa (sự kiện RowEditing)
e.RowIndex: chỉ số của dòng hiện hành
e.Rows[n1].Cells[n2].Controls[n3]: nhận điều khiển
.DataKeys[n]: truy xuất giá trị khóa tại dòng có chỉ số
là n
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
40 40 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
Giai đọan 2: xử lý. Có các chức năng sau:
Chọn dòng
Sửa: chuyển GridView sang trạng thái edit
Không: khôi phục dữ liệu ban đầu và trả về trạng thái ReadOnly
Ghi: cập nhật dữ liệu vào CSDL và trả về trạng thái ReadOnly
Minh họa
Bài 4: Các điều khiển dữ liệu
Điều khiển GridView
41 41 Ngành lập trình - CSDL
Nội dung
1. Tổng quan
2. Các điều khiển Danh sách
4. Các điều khiển DataSource
5. Điều khiển DataList
6. DetailsView và FormView
3. Điều khiển GridView
42 42 Ngành lập trình - CSDL
Các điều khiển DataSource
• Giới thiệu
• Các thuộc tính cơ bản
• Sử dụng DataSource với GridView
43 43 Ngành lập trình - CSDL
• Giới thiệu
− Là các điều khiển dùng để chứa nguồn dữ liệu được rút
trích từ các loại CSDL (Access, Sql Serever, )
− Dùng để liên kết với các điều khiển Data-Bound và khi
liên kết thì chúng sẽ hổ trợ các tính năng sau:
• Hổ trợ phân trang
• Hổ trợ sắp xếp tăng/giảm tự động
• Cập nhật dữ liệu
Tất cả các xử lý trên gần như không cần viết code
Bài 4: Các điều khiển dữ liệu
Các điều khiển DataSource
44 44 Ngành lập trình - CSDL
• Các điều khiển
− AccessDataSource: kết nối đến tập tin CSDL Access
− SqlDataSource : kết nối đến CSDL SQL Server,
Oracle,
− XmlDataSource : kết nối đến tập tin XML
− ObjectDataSource : kết nối đến một object (class, )
hoặc Typed-DataSet đặt trong thư mục Bin | App_Code
− SitemapDataSource : liên kết đến tập tin .sitemap
Minh họa
Bài 4: Các điều khiển dữ liệu
Các điều khiển DataSource
45 45 Ngành lập trình - CSDL
• Các thuộc tính cơ bản
− DataFile: tập tin CSDL Access (đường dẫn đầy đủ)
− ConnectionString: chuỗi liên kết với các CSDL(SQL
Server, Oracle, )
− SelectQuery: truy vấn chọn lựa
− InsertQuery: truy vấn thêm mẫu tin
− UpdateQuery: truy vấn cập nhật
− DeleteQuery: truy vấn xóa
Minh họa
Bài 4: Các điều khiển dữ liệu
Các điều khiển DataSource
46 46 Ngành lập trình - CSDL
• Điều khiển SqlDataSource
− Thao tác cấu hình:
• Chọn điều khiển, nhấn phím phải configure Data Source
• Khai báo Connection
• Chọn Data Source
• Chọn Microsoft SQL Server
• Khai báo Server name và CSDL
• Cấu hình câu lệnh Select và phát sinh các câu lệnh cập nhật
• Kiểm tra và kết thúc
Minh họa
Bài 4: Các điều khiển dữ liệu
Các điều khiển DataSource
47 47 Ngành lập trình - CSDL
• Sử dụng SqlDataSource với GridView
− Liên kết dữ liệu
• Khai báo thuộc tính DataSourceID của GridView
Minh họa
Các điều khiển DataSource
Bài 4: Các điều khiển dữ liệu
48 48 Ngành lập trình - CSDL
• Sử dụng SqlDataSource với GridView
− Lọc dữ liệu
• FilterExpression: biểu thức lọc, chỉ áp dụng khi thuộc tính
DataSourceMode là DataSet
• FilterParameters: các tham số tham gia trong thuộc tính
FilterExpression
• SelectCommandType (Text/StoredProcedure): kiểu tạo truy vấn
chọn lựa (dùng câu lệnh SQL hay thủ tục nội)
Minh họa
Các điều khiển DataSource
Bài 4: Các điều khiển dữ liệu
49 49 Ngành lập trình - CSDL
• Sử dụng SqlDataSource với GridView
− Cập nhật dữ liệu
• Hủy: viết câu lệnh truy vấn xóa có tham số tại thuộc tính
DeleteQuery
Có thể bổ sung phần kiểm tra trước khi hủy trong sự kiện
RowDeleting
Minh họa
Các điều khiển DataSource
Bài 4: Các điều khiển dữ liệu
50 50 Ngành lập trình - CSDL
• Sử dụng SqlDataSource với GridView
− Cập nhật dữ liệu
• Cập nhật: viết câu lệnh truy vấn cập nhật có tham số tại thuộc
tính UpdateQuery
Có thể bổ sung phần kiểm tra dữ liệu trước khi cập nhật trong
sự kiện RowUpdating
Sử dụng thuộc tính e.NewValues[“tên field”] để kiểm tra
Minh họa
Các điều khiển DataSource
Bài 4: Các điều khiển dữ liệu
51 51 Ngành lập trình - CSDL
Nội dung
1. Tổng quan
2. Các điều khiển Danh sách
4. Các điều khiển DataSource
5. Điều khiển DataList
6. DetailsView và FormView
3. Điều khiển GridView
52 52 Ngành lập trình - CSDL
DataList
• Giới thiệu
• Liên kết dữ liệu và định dạng
• Cập nhật dữ liệu
53 53 Ngành lập trình - CSDL
• Giới thiệu
Bài 4: Data-Bound Web Server Controls
DataList
Minh họa
54 54 Ngành lập trình - CSDL
• Giới thiệu
− Dùng để hiển thị dữ liệu theo nhiều dạng
− Thể hiện trên trình duyệt dưới dạng HTML Table
− Đặc điểm:
Không hỗ trợ cơ chế sắp xếp dữ liệu, phân trang
Có thể cập nhật dữ liệu trực tiếp trên danh sách
Phải tự thiết kế hình thức
Bài 4: Data-Bound Web Server Controls
DataList
55 55 Ngành lập trình - CSDL
• Liên kết và định dạng
− Thao tác liên kết dữ liệu: giống GridView
− Thao tác thiết kế: giống như cột TemplateField của
GridView
− Định dạng: giống GridView
• RepeatDirection(Horizontal/Vertical): hướng hiển thị dữ liệu
• RepeatColumns: số cột hiển thị
Bài 4: Data-Bound Web Server Controls
DataList
Minh họa
56 56 Ngành lập trình - CSDL
• Cập nhật dữ liệu
Yêu cầu đầu tiên: khai báo field dùng làm khóa cho danh sách
.DataKeyField = “tên field”;
Bước 1: thiết kế, bổ sung các điều khiển trong thành phần
EditItemTemplate
Nên khai báo thuộc tính CommandName của các nút chức năng:
Nút Edit CommandName = “Edit”
Nút Update CommandName = “Update”
Nút Cancel CommandName = “Cancel”
Bài 4: Data-Bound Web Server Controls
DataList
Minh họa
57 57 Ngành lập trình - CSDL
• Cập nhật dữ liệu
Bước 2: xử lý, có các sự kiện
EditCommand # RowEditing (GridView)
UpdateComand # RowDeleting (GridView)
ItemComand #RowCommand (GridView)
Bài 4: Data-Bound Web Server Controls
DataList
Minh họa
58 58 Ngành lập trình - CSDL
• Cập nhật dữ liệu
Bước 2: xử lý, có các thuộc tính thường dùng
.EditItemIndex: chỉ số dòng được sửa ở trạng thái edit
e.Item.ItemIndex: chỉ số của dòng hiện hành
e.Item.FindControl(“tên điều khiển”): tìm kiếm điều khiển trên
dòng hiện hành
.DataKeys[n]: truy xuất giá trị khóa tại dòng có chỉ số
là n
Bài 4: Data-Bound Web Server Controls
DataList
Minh họa
59 59 Ngành lập trình - CSDL
Nội dung
1. Tổng quan
2. Các điều khiển Danh sách
4. Các điều khiển DataSource
5. Điều khiển DataList
6. DetailsView và FormView
3. Điều khiển GridView
60 60 Ngành lập trình - CSDL
DetailsView
• Giới thiệu
• Liên kết dữ liệu và định dạng
• Các xử lý
• Tạo dạng Master/Detail
61 61 Ngành lập trình - CSDL
• Giới thiệu
Bài 4: Data-Bound Web Server Controls
DetailsView
62 62 Ngành lập trình - CSDL
• Giới thiệu
− Dùng hiển thị dữ liệu dạng cột (Columnar)
− Thể hiện trên trình duyệt dưới dạng HTML Table
− Đặc điểm:
Hỗ trợ cơ chế phân trang dữ liệu
Cho phép cập nhật dữ liệu trực tiếp
Cho phép kết hợp với GridView để tạo ra dạng Master-Detail
Bài 4: Data-Bound Web Server Controls
DetailsView
63 63 Ngành lập trình - CSDL
• Liên kết dữ liệu và định dạng
− Thao tác liên kết dữ liệu: giống GridView
− Thao tác định dạng
Bài 4: Data-Bound Web Server Controls
DetailsView
Minh họa
64 64 Ngành lập trình - CSDL
• Các xử lý
− Phân trang: giống GridView
Bài 4: Data-Bound Web Server Controls
DetailsView
Minh họa
65 65 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
• Khai báo các thuộc tính phát sinh các nút cập nhật:
AutoGenerateDeleteButton
AutoGenerateEditButton
AutoGenerateInsertButton
Bài 4: Data-Bound Web Server Controls
DetailsView
66 66 Ngành lập trình - CSDL
• Các xử lý
− Cập nhật dữ liệu:
• Phần xử lý thì giống GridView, chỉ khác nhau về tên sự kiện và
một số thuộc tính
Bài 4: Data-Bound Web Server Controls
DetailsView
Minh họa
Sự kiện trên GridView Sự kiện trên DetailView
RowCommand ItemCommand
RowInserting ItemInserting
RowUpdating ItemUpdating
RowDeleting ItemDeleting
ModeChanging: khi chuyển sang một
trạng thái khác(edit, insert, read-only)
67 67 Ngành lập trình - CSDL
• Tạo dạng Master-Detail
Bài 4: Data-Bound Web Server Controls
DetailsView
Minh họa
68 68 Ngành lập trình - CSDL
• Tạo dạng Master-Detail
− Bước 1: tạo SqlDataSource1 dùng làm nguồn cho GridView
− Bước 2: tạo GridView dùng làm Master và kết nguồn vào
(Nên tạo một nút lệnh xử lý chọn dòng)
− Bước 3: tạo SqlDataSource2 dùng làm nguồn cho DetailsView
+ FilterParameters: giá trị của tham số là .SelectedValue
+ FilterExpression: biểu thức lọc tương ứng với tham số
− Bước 4: tạo DetailsView dùng làm Detail và kết nguồn vào
Bài 4: Data-Bound Web Server Controls
DetailsView
Minh họa
69 69 Ngành lập trình - CSDL
FormView
• Giới thiệu
• Liên kết dữ liệu và định dạng
• Các xử lý
70 70 Ngành lập trình - CSDL
• Giới thiệu
− Tương tự DetailsView nhưng phải tự thiết kế dạng hiển
thị
− Thể hiện trên trình duyệt dưới dạng HTML Table
− Đặc điểm:
Hỗ trợ cơ chế phân trang dữ liệu
Cho phép cập nhật dữ liệu trực tiếp
• Liên kết, định dạng và các xử lý:
− Giống DetailsView
Bài 4: Data-Bound Web Server Controls
FormView
71 71 Ngành lập trình - CSDL
HẾT
Bài 4: Data-Bound Web Server Controls
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Tạo và sử dụng Web User Controls
3 3 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu
2. Tạo và sử dụng User Controls
3. Load động User Controls
4 4 Ngành lập trình - CSDL
• Giới thiệu
− Khi kết hợp các control để tạo thành một control mới gọi
là Web User Controls (UC)
− Sử dụng UC cũng tương tự như sử dụng thủ tục/hàm
Khả năng tái sử dụng UC trên các trang web
Bài 5: Web User Controls
Giới thiệu
5 5 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu
2. Tạo và sử dụng User Controls
3. Load động User Controls
6 6 Ngành lập trình - CSDL
• Thao tác tạo
Bài 5: Web User Controls
Tạo và sử dụng User Controls
7 7 Ngành lập trình - CSDL
• Thao tác tạo
− Tập tin lưu trữ UC có phần mở rộng là .ascx
− Thiết kế: giống như thiết kế một trang aspx
− Điểm khác biệt với trang aspx:
• Thay thế tag định hướng bằng tag
• Không có tag và
Bài 5: Web User Controls
Tạo và sử dụng User Controls
Minh họa
8 8 Ngành lập trình - CSDL
• Sử dụng
− Có 2 cách:
• Kéo và thả UC vào trang aspx. Lúc đó, trang aspx sẽ xuất hiện
tag định hướng
• Cấu hình trong tập tin web.config
Bài 5: Web User Controls
Tạo và sử dụng User Controls
Minh họa
<add tagPrefix=“tiếp đầu ngữ của tag" tagName=“tên tag"
src=“.ascx"/>
9 9 Ngành lập trình - CSDL
• Sử dụng
− Có 2 cách:
Bài 5: Web User Controls
Tạo và sử dụng User Controls
Minh họa
Ví dụ:
// Khai báo trong web.config
<add tagPrefix=“Cuoitrang" tagName=“TH_FOOTER"
src="~/The_hien/TH_FOOTER.ascx"/>
//Sử dụng trên trang aspx:
10 10 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu
2. Tạo và sử dụng User Controls
3. Load động User Controls
11 11 Ngành lập trình - CSDL
• Khi nào load động UC
− Trong một trang aspx có yêu cầu sử dụng nhiều UC trên
cùng một vị trí của trang
− Bài toán thường gặp:
• Khi chuỗi tham số của đối tượng Request thay đổi
Bài 5: Web User Controls
Load động User Controls
Minh họa
12 12 Ngành lập trình - CSDL
• Các bước thực hiện: trên trang .aspx
− Tạo điều khiển Panel
− Vào sự kiện Page_Load, viết đoạn code sau:
Bài 5: Web User Controls
Load động User Controls
Minh họa
13 13 Ngành lập trình - CSDL
HẾT
Bài 5: Web User Controls
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Tìm hiểu các đối tượng quản lý Web site
• Sử dụng thành thạo một số đối tượng
3 3 Ngành lập trình - CSDL
Nội dung
1. Các đối tượng quản lý ứng dụng Web
2. Tập tin quản lý và cấu hình ứng dụng Web
4 4 Ngành lập trình - CSDL
Các đối tượng quản lý ứng dụng web
• Đối tượng Request và Response
• Đối tượng Server
• Đối tượng Application và Session
• Đối tượng Cookies
5 5 Ngành lập trình - CSDL
• Request
− Dùng để nhận giá trị từ Client gửi về cho Web server
− Thuộc tính QueryString: cho phép nhận các giá trị truyền
qua chuỗi tham số
http: // [: ] [ [? ] ]
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Chuỗi tham số
URL
Request.QueryString[““];
6 6 Ngành lập trình - CSDL
• Request
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Ví dụ:
// Khi truy xuất
string Art; int id ;
Art = Server.HtmlEncode(Request.QueryString[“ArticleID”]);
id = Request.QueryString[“PID”];
Minh họa
7 7 Ngành lập trình - CSDL
• Response
− Được sử dụng để giao tiếp với Client (gởi kết quả đến
Client)
− Quản lý và điều phối thông tin từ Web Server đến trình
duyệt của người dùng
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
8 8 Ngành lập trình - CSDL
• Response
− Phương thức:
• Write: in một chuỗi ra trang web, không thể qui định vị trí hiển thị
của chuỗi
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Response.Write(“chuỗi") ;
Ví dụ:
Response.Write(“Chào các bạn”) ;
Minh họa
9 9 Ngành lập trình - CSDL
• Response
− Phương thức:
• Redirect: gởi thông điệp yêu cầu Web Browser truy cập đến một
địa chỉ khác
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Response.Redirect(“URL") ;
Ví dụ:
Response.Redirect(“~/Man_hinh/Bai2.aspx”) ;
Minh họa
10 10 Ngành lập trình - CSDL
• Server
− Được sử dụng để cung cấp thông tin của Web Server
cho ứng dụng
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
11 11 Ngành lập trình - CSDL
• Server
− Phương thức:
• Transfer(“URL”): ngừng thi hành trang hiện hành, gởi yêu cầu
mới đến trang khác
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Server.Transfer(“URL") ;
Ví dụ:
Server.Transfer(“~/Man_hinh/Bai2.aspx”) ;
Minh họa
12 12 Ngành lập trình - CSDL
• Server
− Phương thức:
• MapPath(): trả về đường dẫn vật lý tương ứng với đường dẫn ảo
trên Web Server
Lưu ý: sử dụng ký hiệu “~” để chỉ đến đường dẫn tương đối của một
đối tượng và dấu “..” để chỉ đến đường dẫn tuyệt đối
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Server.MapPath(“"): đường dẫn đến thư mục của trang hiện hành
Minh họa
Server.MapPath(“\"): đường dẫn đến thư mục root của IIS
(C:\Inetpub\wwwroot\)
13 13 Ngành lập trình - CSDL
• Application
− Đối tượng toàn cục, quản lý toàn bộ ứng dụng Web
− Thông tin được lưu trữ trong đối tượng Application được
“hiểu” ở tất cả trang aspx trong suốt thời gian “sống”
của ứng dụng
− Chỉ bị đóng/hủy khi tắt Web Server
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
14 14 Ngành lập trình - CSDL
• Application
− Tạo biến Application
− Lấy giá trị
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Application.Lock();
Application[“”] = ;
Application.Unlock();
= Application[“”];
Lưu ý: phân biệt chữ HOA/thường
15 15 Ngành lập trình - CSDL
• Session
− Lưu trữ thông tin trong một phiên làm việc cụ thể
− Được tạo ra khi người dùng kết nối đến Web Server lần
đầu tiên
− Thuộc tính Timeout(phút): thời gian duy trì Session, nếu
người dùng không tương tác với Web Server
(default=20’)
− Phương thức Abandon: hủy Session và giải phóng tài
nguyên cho Web Server
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
16 16 Ngành lập trình - CSDL
• Session
− Tạo biến Session
− Lấy giá trị
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Session[“”] = ;
= Session[“”];
Lưu ý:
- phân biệt chữ HOA/thường
- Biến được lưu trữ trong Session không bị loại bỏ khi chuyển đổi giữa các trang
17 17 Ngành lập trình - CSDL
• Cookies
− Dùng để lưu trữ thông tin của người dùng tại máy Client
− Thêm Cookies
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Response.Cookies.Add() ;
Ví dụ: //Khai báo Cookies
HttpCookie cookTen = new HttpCookie("Ten_dn");
cookTen.Value = "Pham-Thien-Thanh";
cookTen.Expires = DateTime.Today.AddDays(3) ; // hết hạn
Response.Cookies.Add(cookTen); // thêm vào client
18 18 Ngành lập trình - CSDL
• Cookies
− Lấy giá trị từ Cookies
Bài 6: Quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Request.Cookies[“Tên Cookie”].Value;
Ví dụ:
HttpCookie cookTen = Request.Cookies["Ten_dn"]
if (cookTen != null)
Xuat_Cook.Text = Request.Cookies["Ten_dn"].Value;
19 19 Ngành lập trình - CSDL
Nội dung
1. Các đối tượng quản lý ứng dụng Web
2. Tập tin quản lý và cấu hình ứng dụng Web
20 20 Ngành lập trình - CSDL
Tập tin quản lý và cấu hình ứng dụng Web
• Tập tin Global.asax
• Tập tin Web.config
21 21 Ngành lập trình - CSDL
• Tập tin Global.asax
− Thao tác tạo
Bài 6: Quản lý ứng dụng web
Tập tin quản lý và cấu hình ứng dụng web
Minh họa
22 22 Ngành lập trình - CSDL
• Tập tin Global.asax
− Một project chỉ có một tập tin Global.asax
− Chứa các đọan code xử lý trong các sự kiện cấp Session
và Aplication
− Khai báo và khởi tạo cho biến Application, Session trong
các sự kiện này
− Các sự kiện trong tập tin: xem trực tiếp trên môi trường
Bài 6: Quản lý ứng dụng web
Tập tin quản lý và cấu hình ứng dụng web
Minh họa
23 23 Ngành lập trình - CSDL
• Tập tin Web.config
− Trong một project được phép có nhiều tập tin Web.config
− Có dạng cấu trúc XML
− Chứa các thông tin cấu hình của ứng dụng Web
− Cấu trúc tập tin
− Cấu hình mặc định
Bài 6: Quản lý ứng dụng web
Tập tin quản lý và cấu hình ứng dụng web
Minh họa
24 24 Ngành lập trình - CSDL
• Tập tin Web.config
− Làm việc với tập tin:
• Bổ sung các thông tin tùy chọn riêng cho ứng dụng
• Truy xuất thông tin
Bài 6: Xây dựng và quản lý ứng dụng web
Các đối tượng quản lý ứng dụng web
Minh họa
System.Configuration.ConfigurationManager.AppSettings[“Khóa”];
25 25 Ngành lập trình - CSDL
HẾT
Bài 6: Quản lý ứng dụng web
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Hiểu được Web Services
• Sử dụng các Web Services trên Internet
• Xây dựng được các Web Services
3 3 Ngành lập trình - CSDL
Nội dung
1. Tìm hiểu về Web Services
2. Xây dựng Web Services
3. Sử dụng Web Services
4. Xây dựng Web Services truy xuất dữ liệu
4 4 Ngành lập trình - CSDL
Tìm hiểu về Web Services
• Web Services (WS) là gì?
• WS hoạt động như thế nào?
5 5 Ngành lập trình - CSDL
• Web Services là gì ?
− Là một hệ thống phần mềm được thiết kế dùng để hổ
trợ sự tương tác giữa các máy tính trên mạng
− Có khả năng chạy trên những hệ điều hành và
framework khác nhau
− Mục tiêu của WS là cung cấp một số chức năng của nó
(có thể là của một các nhân hay một tổ chức)
Bài 7: Web Services
Tìm hiểu về Web Services
6 6 Ngành lập trình - CSDL
• Web Services hoạt động như thế nào ?
− WS có 3 thành phần cơ bản: SOAP, WSDL và UDDI
− SOAP (Simple Object Access Protocol): là một giao thức truyền
thông dùng để liên lạc và gởi thông thông điệp giữa các ứng dụng
trên Internet. Có nền tảng dựa trên XML. Có khả năng xuyên qua
bức tường lửa (Firewall).
− WSDL (Web Services Description Language): là ngôn ngữ dựa trên
ngôn ngữ XML, dùng để mô tả WS và cách thức truy xuất nó
− UDDI (Universal Description, Discovery and Integration): là một dịch
vụ danh bạ, nơi mà cá nhân hoặc tổ chức có thể đăng ký và tìm
kiếm WS
Bài 7: Web Services
Tìm hiểu về Web Services
7 7 Ngành lập trình - CSDL
• Web Services hoạt động như thế nào ?
Bài 7: Web Services
Tìm hiểu về Web Services
Kiến trúc Web Services
8 8 Ngành lập trình - CSDL
• Web Services hoạt động như thế nào ?
Bài 7: Web Services
Tìm hiểu về Web Services
Phối hợp hoạt động giữa các ứng dụng
9 9 Ngành lập trình - CSDL
Nội dung
1. Tìm hiểu về Web Services
2. Xây dựng Web Services
3. Sử dụng Web Services
4. Xây dựng Web Services truy xuất dữ liệu
10 10 Ngành lập trình - CSDL
Xây dựng Web Services
• Tạo Web Services trong VS .Net
• Kiểm tra Web Services
11 11 Ngành lập trình - CSDL
• Tạo Web Services trong VS .Net
Bài 7: Web Services
Xây dựng Web Services
12 12 Ngành lập trình - CSDL
• Tạo Web Services trong VS .Net
− Tập tin lưu trữ có phần mở rộng là asmx
− Tập tin Code behind asmx.cs được đặt trong
thư mục App_code
− Các phương thức tạo ra luôn có thuộc tính
[WebMethod] đứng trước nó
Bài 7: Web Services
Xây dựng Web Services
13 13 Ngành lập trình - CSDL
• Tạo Web Services trong VS .Net
Bài 7: Web Services
Xây dựng Web Services
Xuất hiện cửa
sổ viết code
Phương thức cung
cấp sẵn
Minh họa
14 14 Ngành lập trình - CSDL
• Tạo Web Services trong VS .Net
− Bổ sung thêm phương thức Cong_hai_so
Bài 7: Web Services
Xây dựng Web Services
Minh họa
15 15 Ngành lập trình - CSDL
• Kiểm tra Web Services
− Chọn đối tượng .asmx, nhấn F5
− Kết quả thể hiện có dạng XML
Bài 7: Web Services
Xây dựng Web Services
16 16 Ngành lập trình - CSDL
Nội dung
1. Tìm hiểu về Web Services
2. Xây dựng Web Services
3. Sử dụng Web Services
4. Xây dựng Web Services truy xuất dữ liệu
17 17 Ngành lập trình - CSDL
Sử dụng Web Services
• Sử dụng WS do người dùng xây dựng
• Sử dụng WS được cung cấp miễn phí trên
Internet
18 18 Ngành lập trình - CSDL
− Muốn sử dụng WS, Client cần phải biết WS đó hổ trợ
những phương thức nào, phương thức có bao nhiêu
tham số, kết quả trả về,
− Các thông tin cần biết này được mô tả bởi tài liệu WSDL
Bài 7: Web Services
Sử dụng Web Services
19 19 Ngành lập trình - CSDL
• Sử dụng WS do người dùng xây dựng
Bài 7: Web Services
Sử dụng Web Services
WS_Phep_toan pheptoan = new WS_Phep_toan();
Tong.Text = (pheptoan.Cong_hai_so(4, 5)).ToString();
20 20 Ngành lập trình - CSDL
• Sử dụng WS đựơc cung cấp miễn phí trên mạng
− Bước 1: thêm WS vào ứng dụng
Bài 7: Web Services
Sử dụng Web Services
21 21 Ngành lập trình - CSDL
• Sử dụng WS đựơc cung cấp miễn phí trên mạng
− Bước 2: nhập địa chỉ của WS vào ô URL, nhấn
− Bước 3: Đặt tên cho WS trong ô Web reference name,
nhấn nút Add Reference để hoàn tất
Bài 7: Web Services
Sử dụng Web Services
22 22 Ngành lập trình - CSDL
• Sử dụng WS đựơc cung cấp miễn phí trên mạng
− Xuất hiện WS trong project
Bài 7: Web Services
Sử dụng Web Services
23 23 Ngành lập trình - CSDL
• Sử dụng WS đựơc cung cấp miễn phí trên mạng
− Sử dụng
Bài 7: Web Services
Sử dụng Web Services
// Lấy tên các quốc gia trên thế giới
WS_Quoc_gia.country Tp = new WS_Quoc_gia.country();
Quocgia.Text = Tp.GetCountries();
24 24 Ngành lập trình - CSDL
Nội dung
1. Tìm hiểu về Web Services
2. Xây dựng Web Services
3. Sử dụng Web Services
4. Xây dựng Web Services truy xuất dữ liệu
25 25 Ngành lập trình - CSDL
Xây dựng Web Services truy xuất dữ liệu
• Xây dựng WS KhachHang
• Sử dụng WS KhachHang
26 26 Ngành lập trình - CSDL
• Xây dựng WS KhachHang
Bài 7: Web Services
Xây dựng Web Services truy xuất dữ liệu
27 27 Ngành lập trình - CSDL
• Sử dụng WS KhachHang
Bài 7: Web Services
Xây dựng Web Services truy xuất dữ liệu
// Ds_khachhang có thể là GridView, DetailView,
28 28 Ngành lập trình - CSDL
HẾT
Bài 7: Web Services
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Tạo cấu trúc nhất quán các trang trong
một website
• Sử dụng thành thạo Themes
• Hiểu và sử dụng điều khiển Menu,
TreeView
3 3 Ngành lập trình - CSDL
Nội dung
1. Master Pages
2. Themes và Skin
3. Site Navigation Controls
4 4 Ngành lập trình - CSDL
Master Pages
• Giới thiệu
• Tạo Master Pages
• Tham chiếu thuộc tính và điều khiển của
trang Master từ trang Content
• Master động
5 5 Ngành lập trình - CSDL
• Giới thiệu
− Master Pages cho phép tạo ra một bố cục nhất quán trên
các trang web trong cùng một Web site (tương tự
Template)
− Nội dung thể hiện trên trình duyệt chính là sự kết hợp
giữa trang master (Master page) và trang aspx (Content
page)
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
Master Pages
6 6 Ngành lập trình - CSDL
Master Page Content Page
Resulting Page
(Trang kết quả)
7 7 Ngành lập trình - CSDL
• Giới thiệu
− Master Pages gồm 2 phần chính:
• Master page
Dùng để xây dựng một bố cục chung cho Web site
Tập tin lưu trữ có phần mở rộng là .master
Thay thế tag định hướng bằng tag
Thao tác thiết kế: giống trang .aspx, nhưng phải bổ sung ít
nhất một điều khiển ContentPalceHolder
Master Pages
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
8 8 Ngành lập trình - CSDL
• Giới thiệu
− Master Pages gồm 2 phần chính:
• Content page: chính là trang .aspx nhưng có các đặc điểm sau
Bổ sung thuộc tính MasterPageFile=“Tên tập tin master” trong
định hướng
Không chứa các tag tạo ra cấu trúc trang HTML
Chứa tag : số lượng tag này
tùy thuộc vào trang master được kết hợp
Chỉ được phép tạo nội dung trong tag
Master Pages
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
9 9 Ngành lập trình - CSDL
Master Pages
Minh họa Code trong cửa sổ Source
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
10 10 Ngành lập trình - CSDL
• Các bước tạo
− Bước 1: tạo trang Master chọn icon
− Bước 2: thiết kế bố cục chung và bổ sung điều khiển
ContentPlaceHolder vào trang Master
− Bước 3: tạo trang Content và khai báo trang Master
− Bước 4: thiết kế nội dung trên trang Content
Master Pages
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
11 11 Ngành lập trình - CSDL
• Tham chiếu thuộc tính trên trang Master
− Bước 1: tạo thuộc tính (Public) trong trang Master
− Bước 2: bổ sung định hướng <%@ MasterType
VirtualPath=“.master" %> trong trang Content
− Bước 3: trong trang Content, tại sự kiện Page_Load ta
tham chiếu đến thuộc tính như sau:
Master Pages
Minh họa
Master.
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
12 12 Ngành lập trình - CSDL
• Tham chiếu điều khiển trên trang Master
− Sử dụng phương thức FindControl tại sự kiện
Page_Load của trang Content
Master Pages
Minh họa
Master.FindControl(“tên control”)
Ví dụ: điều khiển Nhan_Master trên trang Master
Label2.Text = ((Label) Master.FindControl("Nhan_Master")).Text;
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
13 13 Ngành lập trình - CSDL
• Master động – Dynamic Master
− Thay đổi trang Master lúc thực thi
− Tại sự kiện PreInit của trang Content, khai báo như sau:
Master Pages
Minh họa
Page.MasterPageFile =“tên tập tin Master”
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
14 14 Ngành lập trình - CSDL
Nội dung
1. Master Page
2. Themes và Skin
3. Site Navigation Controls
15 15 Ngành lập trình - CSDL
Themes và Skin
• Giới thiệu
• Tạo Themes
• Sử dụng Themes
• Themes động
16 16 Ngành lập trình - CSDL
• Giới thiệu
− Themes là tập hợp các khai báo thuộc tính về hình thức
hiển thị (màu sắc, nét chữ , ) của điều khiển
− Dùng để áp dụng chung cho tất cả các trang trong một
ứng dụng hoặc tất cả các ứng dụng trên Web server
− Themes được hiểu và xử lý ở phía Server
Themes và Skins
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
17 17 Ngành lập trình - CSDL
• Giới thiệu
− Themes được tạo ra từ các thành phần: Skins, CSS,
Images và các nguồn khác nhưng tối thiểu phải có Skins
− Tất cả các thành phần trên được đặt trong thư mục
App_Themes
Themes và Skins
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
18 18 Ngành lập trình - CSDL
• Giới thiệu
Skins:
- Là một tập tin có phần mở rộng là .skin, chứa các tag tạo ra các
Server Control kèm theo các khai báo thuộc tính
Lưu ý: không khai báo thuộc tính ID trong skin
Themes và Skins
Ví dụ:
skin
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
19 19 Ngành lập trình - CSDL
• Giới thiệu
Skins:
- Có 2 loại skin:
Default skin : không khai báo thuộc tính SkinId, và mặc định
ứng dụng sẽ áp dụng skin này cho tất các điều khiển có cùng
kiểu khai báo
Named skin : có khai báo thuộc tính SkinId, muốn sử dụng thì
phải khai báo tường minh thuộc tính SkinId trên một điều khiển
cụ thể
Themes và Skins
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
20 20 Ngành lập trình - CSDL
• Giới thiệu
Skins:
- Có 2 loại skin:
Themes và Skins
Ví dụ: khai báo trong tập tin .skin
//defaut skin
//named skin
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
21 21 Ngành lập trình - CSDL
• Tạo Themes
− Thao tác
Themes và Skins
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
22 22 Ngành lập trình - CSDL
• Tạo Themes
− Tổ chức thư mục lưu trữ
Themes và Skins
Minh họa
Ứng dụng có 3 Themes
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
23 23 Ngành lập trình - CSDL
• Sử dụng Themes
− Cấp ứng dụng: áp dụng cho tất cả các trang. Khai báo
trong tập tin Web.config
Themes và Skins
Ví dụ:
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
24 24 Ngành lập trình - CSDL
• Sử dụng Themes
− Cấp trang – page Themes: áp dụng cho một trang cụ
thể. Khai báo trong tag định hướng
của trang .aspx
• Cú pháp này làm thay đổi định dạng riêng của điều khiển
Themes và Skins
Ví dụ:
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
25 25 Ngành lập trình - CSDL
• Sử dụng Themes
− Cấp trang – page Themes: áp dụng cho một trang cụ
thể. Khai báo trong tag định hướng của
trang .aspx
• Cú pháp này không làm thay đổi định dạng riêng của điều
khiển
Themes và Skins
Ví dụ:
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
26 26 Ngành lập trình - CSDL
• Sử dụng Themes
− Hủy bỏ Themes:
• Muốn huỷ bỏ Themes ở cấp ứng dụng cho một trang cụ thể, ta sử
dụng thuộc tính EnableTheming trong
• Muốn hủy bỏ Themes cho riêng một điều khiển, ta khai báo thuộc
tính EnableTheming là false
Themes và Skins
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
27 27 Ngành lập trình - CSDL
• Sử dụng Themes
− Khai báo skin cụ thể cho một điều khiển:
• Muốn xác định skin cụ thể (không sử dụng skin mặc định của
Themes hiện hành), ta khai báo thuộc tính SkinId
Themes và Skins
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
28 28 Ngành lập trình - CSDL
• Themes động – Dynamic Themes
− Sử dụng sự kiện Page_PreInit của trang
− Thay đổi Themes:
Themes và Skins
protected void Page_PreInit( )
{
Page.Theme = “tên Theme";
}
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
29 29 Ngành lập trình - CSDL
• Themes động – Dynamic Themes
− Thay đổi SkinId của Theme hiện hành:
Themes và Skins
protected void Page_PreInit( )
{
.SkinID = “gía trị SkinId”;
}
Ví dụ: thay đổi skin của TreeView Caythucdon, tên skin là giá trị
được chọn từ DropDownList1
protected void Page_PreInit( .)
{ Caythucdon.SkinID = Request.Form["DropDownList1“] ;
}
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
30 30 Ngành lập trình - CSDL
Nội dung
1. Master Page
2. Themes và Skin
3. Site Navigation Controls
31 31 Ngành lập trình - CSDL
Site Navigation Controls
• Giới thiệu
• Sử dụng các Navigation Controls: Menu,
TreeView và SiteMapPath
• Điều khiển SiteMapDataSource
32 32 Ngành lập trình - CSDL
• Giới thiệu
− Dùng để chuyển đến (navigate) một trang web khác và
thể hiện cấu trúc logic của Web site (site map)
− Gồm các điều khiển: Menu, TreeView, SiteMapPath kết
hợp với SiteMapDataSource
− Các điều khiển này thường được sử dụng trong trang
Master
Site Navigation Controls
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
33 33 Ngành lập trình - CSDL
• Menu
− Dùng để thể hiện thực đơn và cho phép người dùng
chuyển đến một trang web khác khi chọn một chức năng
− Thao tác tạo: chọn thuộc tính
• Items: khai báo các chức năng trên thực đơn
Site Navigation Controls
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
34 34 Ngành lập trình - CSDL
• Menu
− Thao tác tạo:
Site Navigation Controls
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
35 35 Ngành lập trình - CSDL
• TreeView
− Dùng để thể hiện thực đơn có dạng cây và cho phép
người dùng chuyển đến một trang web khác khi chọn một
node
− Thao tác tạo: chọn thuộc tính
• Nodes: khai báo các chức năng trên thực đơn
Site Navigation Controls
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
36 36 Ngành lập trình - CSDL
• TreeView
− Thao tác tạo:
Site Navigation Controls
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
37 37 Ngành lập trình - CSDL
• SiteMapPath
− Dùng để thể hiện cấu trúc logic của website và cho phép
người dùng chuyển đến một trang web khác
− Nội dung cấu trúc của website mặc định được chứa trong
tập tin Web.sitemap
− Nếu nội dung cấu trúc nằm trong tập tin ???.sitemap
(không phải Web.sitemap), thì phải định nghĩa
SiteMapProvider trong tập tin Web.config
Site Navigation Controls
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
38 38 Ngành lập trình - CSDL
• SiteMapPath
− Các bước tạo:
• Bước 1: tạo tập tin Web.sitemap
Site Navigation Controls
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
39 39 Ngành lập trình - CSDL
• SiteMapPath
Site Navigation Controls
Minh họa
Lưu ý: chỉ được
phép có một
siteMapNode gốc
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
40 40 Ngành lập trình - CSDL
• SiteMapPath
− Các bước tạo:
Bước 2 và 3 chỉ dành cho tập tin ???.sitemap (khác Web.sitemap)
• Bước 2: khai báo SiteMapProvider trong tập tin Web.config
Site Navigation Controls
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
41 41 Ngành lập trình - CSDL
• SiteMapPath
− Các bước tạo:
• Bước 3: tạo điều khiển SiteMapPath, khai báo thuộc tính
SiteMapProvider là “tên SiteMapProvider” đã khai báo trong tập
Web.config
Site Navigation Controls
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
42 42 Ngành lập trình - CSDL
• SiteMapDataSource
− Dùng để chứa nguồn dữ liệu được lưu trữ trong tập tin
.sitemap
− Nguồn dữ liệu mặc định là tập tin Web.sitemap
− Thường sử dụng kết hợp với các điều khiển Menu và
TreeView
Site Navigation Controls
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
43 43 Ngành lập trình - CSDL
• SiteMapDataSource
− Các thuộc tính:
• SiteMapProvider: tên SiteMapProvider đã khai báo trong tập tin
Web.config. Nếu nguồn là Web.sitemap thì không không cần khai
báo thuộc tính này
• ShowStartingNode(True/False): bắt đầu bằng siteMapNode gốc
hay không
• SiteMapProvider: tên SiteMapProvider
• StartingNodeUrl: địa chỉ URL cho node bắt đầu
Site Navigation Controls
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
44 44 Ngành lập trình - CSDL
• SiteMapDataSource
− Liên kết với Menu và TreeView:
• Sử dụng thuộc tính DataSourceID của 2 điều khiển trên, giá trị
của thuộc tính là ID của SiteMapDataSource
Site Navigation Controls
Minh họa
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
45 45 Ngành lập trình - CSDL
HẾT
Bài 8: Xây dựng hoàn chỉnh ứng dụng web
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Hiểu được cơ chế bảo mật Web site
• Sử dụng 2 điều khiển trong nhóm Login
3 3 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về aspnetdb Database
2. Các nguyên tắc bảo mật của ASP.NET
3. Giới thiệu công cụ WAT
4. Tạo trang Đăng nhập
5. Tạo trang Đổi mật khẩu
6. Profiles
4 4 Ngành lập trình - CSDL
Tổng quan về aspnetdb Database
• Giới thiệu
• Tạo aspnetdb Database
5 5 Ngành lập trình - CSDL
• Giới thiệu
− CSDL aspnetdb dùng để quản lý các user profiles, roles,
membership và các thông tin cá nhân khác
− Áp dụng cho ASP.Net 2.0 Web Application
− Không được tạo ra khi cài đặt SQL Server 2005
Enterprise/ Express Edition
− Được tạo tự động khi sử dụng công cụ WAT và lưu trữ
trong thư mục App_Data
Bài 9: Bảo mật Website
Tổng quan về aspnetdb Database
6 6 Ngành lập trình - CSDL
• Tạo aspnetdb Database
− Tạo thủ công:
• Start Programs Microsoft Visual Studio
2005 Visual Studio Tools Visual Studio 2005
Command Prompt
• Gõ lệnh aspnetdb_regsql
Bài 9: Bảo mật Website
Tổng quan về aspnetdb Database
Minh họa
7 7 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Database aspnetdb
2. Các nguyên tắc bảo mật của ASP.Net
3. Giới thiệu công cụ WAT
4. Tạo trang Đăng nhập
5. Tạo trang Đổi mật khẩu
6. Profiles
8 8 Ngành lập trình - CSDL
Các nguyên tắc bảo mật của ASP.Net
• Các khái niệm bảo mật
• Mô hình bảo mật ASP.NET
• Các chiến lượt bảo mật
• Chứng thực website
9 9 Ngành lập trình - CSDL
• Các khái niệm bảo mật
− Authentication: xác định user là ai
− Authorization: xác định quyền hạn của user
− Impersonation: là option tùy chọn, dùng Code
để xử lý giới hạn truy xuất
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
10 10 Ngành lập trình - CSDL
• Mô hình bảo mật ASP.Net
− IIS xác thực người dùng
− Nếu thành công, nó chuyển yêu cầu đến ASP.Net với
thông tin đã được chứng thực
− Nếu ASP.Net xác thực thành công, nó cho phép gởi yêu
cầu đến các trang .aspx hoặc web services,
− Khi ASP.Net Code yêu cầu tài nguyên (mở file hoặc
connect đến CSDL), hệ điều hành sẽ tiến hành kiểm tra
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
11 11 Ngành lập trình - CSDL
Web Clients
Giả sử đã Impersonated
Truy xuất được phép
Sử dụng tài khoản được cấu hình
Truy xuất bị
từ chối
Có chấp nhận địa chỉ IP và Domain ?
No Yes
IIS xác thực thành công ?
No Yes
IIS
ASP.Net Asp.Net xác thực thành công ?
No
Yes
Có khai báo Impersonation ?
No Yes
Cho phép các tài nguyên khác ?
No Yes
12 12 Ngành lập trình - CSDL
• Các chiến lượt bảo mật
1. Cho phép các user nặc danh (anonymous users)
nhưng sử dụng chứng thực forms để bảo mật từng
phần trong Website. Nếu có user đăng nhập thì nó sẽ
tiến hành xác thực user đó
2. Cấm các user nặc danh và sử dụng chứng thực của IIS
để bắt buộc user đăng nhập theo chứng thực Windows,
Basic hoặc Digest (yêu cầu user có account trên
server) Thích hợp với mạng Intranet
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
13 13 Ngành lập trình - CSDL
• Chứng thực website
− Windows Authentication:
• IIS sẽ xác thực user dựa trên Windows account
• Ưu điểm: trong suốt với người dùng, và có thể dùng
code để kiểm tra thông tin tài khoản
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
14 14 Ngành lập trình - CSDL
• Chứng thực website
− Windows Authentication:
• Khai báo:
Cài đặt chế độ chứng thực là Windows trong tập tin
Web.config
Tắt quyền truy xuất user nặc danh (trong IIS hoặc trong
tập tin Web.config)
Cấu hình Windows account trên Web server (nếu chưa
có )
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
15 15 Ngành lập trình - CSDL
• Chứng thực website
− Windows Authentication:
• Khai báo: minh hoạ khai báo chứng thực
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
Minh họa
16 16 Ngành lập trình - CSDL
• Chứng thực website
− Windows Authentication:
• Khai báo: minh hoạ cấp quyền
Khai báo trong tập tin Web.config
Hoặc, trong IIS: chọn thư mục ảo, nhấn phím phải
chuột chọn Properties
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
Minh họa
17 17 Ngành lập trình - CSDL
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
18 18 Ngành lập trình - CSDL
• Chứng thực website
− Forms Authentication:
• Xác thực user dựa trên CSDL aspnetdb
• Khai báo:
Cài đặt chế độ chứng thực là Forms trong tập tin
Web.config
Giới hạn quyền truy xuất tập tin/thư mục của các
user nặc danh
Tạo trang Đăng nhập - Login
Bài 9: Bảo mật Website
Các nguyên tắc bảo mật
19 19 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Database aspnetdb
2. Các qui định bảo mật
3. Giới thiệu công cụ WAT
4. Tạo trang Đăng nhập
5. Tạo trang Đổi mật khẩu
6. Profiles
20 20 Ngành lập trình - CSDL
Giới thiệu công cụ WAT
• Giới thiệu
• Tạo User và Role
• Cấp quyền truy xuất thư mục, tập tin cho
User, Role
21 21 Ngành lập trình - CSDL
• Giới thiệu
− WAT – Website Administration Tool – dùng để
xem và cấu hình website
− Các thao tác trên WAT sẽ làm thay đổi tập tin
Web.config
− Thao tác: trên thực đơn, chọn Website
ASP.NET Configuration
Bài 9: Bảo mật Website
Giới thiệu công cụ WAT
22 22 Ngành lập trình - CSDL
• Tạo User và Role
• Cấp quyền truy xuất thư mục, tập tin cho user
và Role
Bài 9: Bảo mật Website
Giới thiệu công cụ WAT
Minh họa
23 23 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Database aspnetdb
2. Các qui định bảo mật
3. Giới thiệu công cụ WAT
4. Tạo trang Đăng nhập
5. Tạo trang Đổi mật khẩu
6. Profiles
24 24 Ngành lập trình - CSDL
Tạo trang Đăng nhập
• Giới thiệu và thao tác tạo
• Giới thiệu điều khiển Login
25 25 Ngành lập trình - CSDL
• Giới thiệu và thao tác tạo
− Áp dụng cho Forms Authentication
− Dùng để chứng thực người dùng (kiểm tra userName và
password)
− Khai báo trong tập Web.config:
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
26 26 Ngành lập trình - CSDL
• Giới thiệu và thao tác tạo
− Cấp quyền truy xuất các tập tin/thư mục: dùng
WAT hoặc cập nhật trực tiếp Web.config
− Tạo trang Login.aspx tại thư mục gốc của ứng
dụng
• Dùng điều khiển Login thiết kế chức năng đăng nhập
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
Minh họa
27 27 Ngành lập trình - CSDL
• Điều khiển Login
− Kết hợp với điều khiển Validator để kiểm tra ô nhập
user name và password
− Tự động kiểm tra thông tin đăng nhập
− Nếu chọn thì thông tin đăng nhập
đựơc lưu trữ xuống cookie
− Nếu đăng nhập thành công thì mặc định chuyển đến
trang Default.aspx ở thư mục gốc
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
28 28 Ngành lập trình - CSDL
• Điều khiển Login
− Thuộc tính: đa số dùng để thay đổi giao diện của
điều khiển
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
Minh họa
29 29 Ngành lập trình - CSDL
• Điều khiển Login
− Sự kiện
• LoggingIn : xảy ra trước khi user được xác thực
• LoggedIn : sau khi user được xác thực
• LoginError : khi đăng nhập không thành công
• Authenticate : chủ động xác thực user tùy theo code
đựơc viết, điều khiển không tự động thực hiện
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
Minh họa
30 30 Ngành lập trình - CSDL
• Tạo nút Sign Out:
− Sử dụng lớp FormsAuthentication và phương
thức SignOut
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
Minh họa
31 31 Ngành lập trình - CSDL
• Xem thông tin user:
− Sử dụng thuộc tính User.Identity của Page
• Name: tên user
• AuthenticationType: kiểu chứng thực
• IsAuthenticated: đã được chứng thực chưa
− Phương thức User.IsInRole(“Tên Role”): kiểm
tra user có trong role không
Bài 9: Bảo mật Website
Tạo trang Đăng nhập
Minh họa
32 32 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Database aspnetdb
2. Các qui định bảo mật
3. Giới thiệu công cụ WAT
4. Tạo trang Đăng nhập
5. Tạo trang Đổi mật khẩu
6. Profiles
33 33 Ngành lập trình - CSDL
Tạo trang Đổi mật khẩu
• Giới thiệu
• Giới thiệu điều khiển ChangePassword
34 34 Ngành lập trình - CSDL
• Giới thiệu
− Áp dụng cho Forms Authentication
− Dùng để thay đổi mật khẩu
− Sử dụng điều khiển ChangePassword
Bài 9: Bảo mật Website
Tạo trang Đổi mật khẩu
35 35 Ngành lập trình - CSDL
• Điều khiển ChangePassword
− Các thuộc tính và sự kiện tương tự điều khiển
Login
Bài 9: Bảo mật Website
Tạo trang Đổi mật khẩu
36 36 Ngành lập trình - CSDL
Nội dung
1. Tổng quan về Database aspnetdb
2. Các qui định bảo mật
3. Giới thiệu công cụ WAT
4. Tạo trang Đăng nhập
5. Tạo trang Đổi mật khẩu
6. Profiles
37 37 Ngành lập trình - CSDL
Profiles
• Giới thiệu
• Khai báo Profiles
• Sử dụng Profile
38 38 Ngành lập trình - CSDL
• Giới thiệu
− Cho phép lưu trữ dữ liệu cụ thể của người dùng
đã đựơc chứng thực
− Tương tự Session, chỉ khác là dữ liệu profile
không bị mất đi khi Session hết hạn
− Thuộc namespace System.Web.Profile
Bài 9: Bảo mật Website
Profiles
39 39 Ngành lập trình - CSDL
• Khai báo Profiles
− Khai báo các thuộc tính cần lưu trữ trong
Web.config
Bài 9: Bảo mật Website
Profiles
User_Name,FullName,
Birthday là thông tin lưu trữ
40 40 Ngành lập trình - CSDL
• Sử dụng Profiles
− Truy xuất thuộc tính
− Cập nhật thuộc tính vào table Profile
Bài 9: Bảo mật Website
Profiles
Profile.
Profile. Save();
41 41 Ngành lập trình - CSDL
• Sử dụng Profiles
Bài 9: Bảo mật Website
Profiles
Ví dụ: cập nhật
Profile.User_Name = User_name.Text;
Profile.FullName = Full_name.Text;
Profile.Birthday = DateTime.Parse(Birth_day.Text);
Profile.Save();
42 42 Ngành lập trình - CSDL
• Sử dụng Profiles
− Xem danh sách Profile
Bài 9: Bảo mật Website
Profiles
ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All)
Ví dụ:
.DataSource
=ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All);
.DataBind();
43 43 Ngành lập trình - CSDL
HẾT
Bài 9: Bảo mật Website
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Hiểu được các yêu cầu cần triển khai
• Triển khai một ứng dụng Web
3 3 Ngành lập trình - CSDL
Nội dung
1. Internet Information Services - IIS
2. Các phương pháp triển khai ứng dụng web
4 4 Ngành lập trình - CSDL
Internet Information Services - IIS
• Giới thiệu
• Cài đặt
• Cấu hình
• Tạo ứng dụng Web trên IIS
5 5 Ngành lập trình - CSDL
• Giới thiệu
− Là phần mềm Web server của Miscrosoft dành
cho hệ điều hành Windows
− Tập hợp các dịch vụ sử dụng trên Internet (trong
đó có HTTP, FTP, SMTP, )
Bài 10: Triển khai ứng dụng Web
Internet Information Services
6 6 Ngành lập trình - CSDL
• Cài đặt IIS
− Kiểm tra máy đã được cài đặt IIS
− Cài đặt
Bài 10: Triển khai ứng dụng Web
Internet Information Services
7 7 Ngành lập trình - CSDL
• Cấu hình IIS
− Vào Control Panel chọn Administrator Tool
chọn Internet Information Services
Bài 10: Triển khai ứng dụng Web
Internet Information Services
8 8 Ngành lập trình - CSDL
• Tạo ứng dụng Web trên IIS
− Có 2 cách:
Đặt thư mục ứng dụng trong thư mục wwwroot
Tạo thư mục ảo (Virtual Directory), ánh xạ đến thư
mục ứng dụng
Bài 10: Triển khai ứng dụng Web
Internet Information Services
9 9 Ngành lập trình - CSDL
Nội dung
1. Internet Information Services - IIS
2. Các phương pháp triển khai ứng dụng web
10 10 Ngành lập trình - CSDL
Các phương pháp triển khai ứng dụng Web
• Sử dụng chức năng Publish Web site
• Sử dụng công cụ Web Deployment Setup
11 11 Ngành lập trình - CSDL
• Chức năng 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 behind đã được biên dịch thành
.dll nên không được copy
Bài 10: Triển khai ứng dụng Web
Các phương pháp triển khai
12 12 Ngành lập trình - CSDL
• Chức năng Publish Web Site
− Thao tác
• Nhấn phím phải chuột
vào project, chọn
Publish Web Site
Bài 10: Triển khai ứng dụng Web
Các phương pháp triển khai
Minh họa
13 13 Ngành lập trình - CSDL
• Chức năng Publish Web Site
− Thao tác
• Khai báo
đường dẫn thư
mục chứa
website
đựơc triển khai
Bài 10: Triển khai ứng dụng Web
Các phương pháp triển khai
14 14 Ngành lập trình - CSDL
• Chức năng Publish Web Site
− Thao tác
• Mở cửa sổ Explorer, ta nhìn thấy thư mục được tạo
Bài 10: Triển khai ứng dụng Web
Các phương pháp triển khai
15 15 Ngành lập trình - CSDL
• Chức năng Publish Web Site
− Thao tác
• Vào IIS tạo thư mục ảo ánh xạ đến thư mục vừa tạo
• Sau đó test thử website này:
• Nếu có thay đổi code hoặc giao diện thì ta phải chọn
lại chức năng Publish Web Site
− Sử dụng thư mục vừa tạo (Minh_hoa_deploy)
để publish lên internet
Bài 10: Triển khai ứng dụng Web
Các phương pháp triển khai
16 16 Ngành lập trình - CSDL
• Công cụ Web Deployment Setup
− Tương tự như Publish Web site
− Phải cài đặt sau khi đã cài VS 2005
Bài 10: Triển khai ứng dụng Web
Các phương pháp triển khai
Minh họa
17 17 Ngành lập trình - CSDL
HẾT
Bài 10: Triển khai ứng dụng Web
1 1 Ngành lập trình - CSDL
2 2 Ngành lập trình - CSDL
Mục tiêu
• Tìm hiểu về Ajax và cơ chế hoạt động của Ajax
• Sử dụng Ajax mà không cài đặt thêm thư viện
• Sử dụng Ajax với thư viện AJAX ASP.NET
Framework của Microsoft.
3 3 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu tổng quan
2. Sự hoạt động của Ajax
3. Dùng Ajax với đối tượng XmlHttpRequest
4. Dùng Ajax với thư viện AJAX ASP.NET
4 4 Ngành lập trình - CSDL
Giới thiệu tổng quan
• Ajax là gì ?
• Các đặc điểm của Ajax
5 5 Ngành lập trình - CSDL
• Ajax là gì?
− AJAX (Asynchronous JavaScript and XML" -
nghĩa là "JavaScript và XML không đồng bộ") là
một nhóm các công nghệ phát triển web được
sử dụng để tạo các ứng dụng web động hay
các ứng dụng giàu tính Internet (rich Internet
application).
Bài 11: Giới thiệu và sử dụng Ajax
Giới thiệu tổng quan
6 6 Ngành lập trình - CSDL
• Ajax là gì?
− Ajax là một kỹ thuật phát triển web có tính tương tác cao
bằng cách kết hợp các ngôn ngữ:
• HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin
• Mô hình DOM (Document Object Model), được thực hiện
thông qua JavaScript, nhằm hiển thị thông tin động và tương
tác với những thông tin được hiển thị
• Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách
không đồng bộ với máy chủ web.
• XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ
định dạng nào cũng có thể dùng, bao gồm HTML định dạng
trước, văn bản thuần (plain text), JSON.
Bài 11: Giới thiệu và sử dụng Ajax
Giới thiệu tổng quan
7 7 Ngành lập trình - CSDL
• Các đặc điểm của Ajax
− Ưu điểm
• Trang web có thể cập nhật nội dung cần thiết mà
không phải nạp lại toàn bộ trang web
• Trang web được hiển thị nhanh hơn vì lượng dữ liệu
trao đổi giữa máy chủ và trình duyệt web giảm đi rất
nhiều
Bài 11: Giới thiệu và sử dụng Ajax
Giới thiệu tổng quan
8 8 Ngành lập trình - CSDL
• Các đặc điểm của Ajax
− Khuyết điểm
• Các chức năng Back, Bookmark của trình duyệt hoạt
động không đúng
• Để xem được các trang web ajax thì trình duyệt phải
hỗ trợ javascript.
• Mở ra một các thức khác cho việc tấn công của các
đoạn mã độc mà những nhà phát triển web có thể
không kiểm thử hết được.
Bài 11: Giới thiệu và sử dụng Ajax
Giới thiệu tổng quan
9 9 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu tổng quan
2. Sự hoạt động của Ajax
3. Dùng Ajax với đối tượng XmlHttpRequest
4. Dùng Ajax với thư viện AJAX ASP.NET
10 10 Ngành lập trình - CSDL
Sự họat động của Ajax
• Mô hình họat động của Ajax
• So sánh Web Application và Ajax Web
Application
11 11 Ngành lập trình - CSDL
• Mô hình hoạt động
− Việc xử lý thông tin được thực hiện trên máy khách
(Client) thay vì máy phục vụ (Server) như cách truyền
thống
− Máy chủ chỉ làm một việc đơn giản là nhận thông tin từ
máy khách và trả các dữ liệu về cho máy khách
− Máy khách xử lý sơ bộ thông tin của người dùng nhập
vào, sau đó chuyển về máy chủ rồi nhận dữ liệu từ máy
chủ và xử lý để hiển thị cho người dùng
Bài 11: Giới thiệu và sử dụng Ajax
Sự hoạt động của Ajax
12 12 Ngành lập trình - CSDL
Trang web
Máy khách
Ajax Engine
Máy chủ web
Máy chủ CSDL
Phía máy chủ
Javascript HTML + CSS
HTTP request XML Data
13 13 Ngành lập trình - CSDL
Máy chủ
Trang
web
Máy khách
Ajax Engine
Hoạt động người dùng
Hệ thống xử lý
Máy khách
Máy chủ
Hoạt động người dùng
Hệ thống xử lý
Xử lý
đồng bộ
Xử lý
bất đồng bộ
14 14 Ngành lập trình - CSDL
• So sánh với các ứng dụng web truyền
thống
− Các ứng dụng Ajax phần lớn trông giống như thể chúng
được đặt trên máy của người sử dụng hơn là được đặt
trên một máy phục vụ thông qua Internet. Lý do: các
trang được cập nhật nhưng không nạp lại toàn bộ
− Các ứng dụng truyền thống về bản chất là gửi dữ liệu từ
các form, được nhập bởi người sử dụng, tới một máy
phục vụ web. Máy phục vụ web sẽ trả lời bằng việc gửi
về một trang web mới
Bài 11: Giới thiệu và sử dụng Ajax
Sự họat động của Ajax
15 15 Ngành lập trình - CSDL
So sánh ứng dụng web truyền thống (trái) với AJAX
Trang web
Trình duyệt
Máy chủ Web
Máy chủ CSDL
Phía máy chủ
H
TT
P
R
eq
ue
st
H
TM
L
+
C
SS
Trang web
Trình duyệt
Ajax Engine
Máy chủ web
Máy chủ CSDL
Phía máy chủ
Javascript HTML + CSS
HTTP request XML Data
16 16 Ngành lập trình - CSDL
• So sánh với các ứng dụng web truyền
thống
− Mặt khác, các ứng dụng Ajax có thể gửi các yêu cầu tới
máy phục vụ web để nhận về chỉ những dữ liệu cần thiết.
Kết quả là trang web được hiển thị nhanh hơn vì lượng
dữ liệu trao đổi giữa máy chủ và trình duyệt web giảm đi
rất nhiều. Thời gian xử lý của máy chủ web cũng vì thế
mà được giảm theo vì phần lớn thời gian xử lý được thực
hiện trên máy khách của người dùng
Bài 11: Giới thiệu và sử dụng Ajax
Sự họat động của Ajax
17 17 Ngành lập trình - CSDL
• Website nước ngoài:
− Flickr ( website chia sẽ
hình ảnh
− Gmail (
− Google Local (trước đây Google Maps) :
− Windows Live :
Bài 11: Giới thiệu và sử dụng Ajax
Các website sử dụng Ajax
18 18 Ngành lập trình - CSDL
• Ajax của người Việt:
− Địa danh Việt Nam: ( )
Website với trên 48000 địa danh Việt Nam. Sử
dụng công nghệ AJAX và Google Maps API
− Thắng Cảnh Đẹp [ ]: sử
dụng 100% AJAX, kết hợp với Google MAP API
− Music Online [ ]: sử
dụng 99% AJAX + khắc phục được 1 số nhược
điểm của Ajax
Bài 11: Giới thiệu và sử dụng Ajax
Các website sử dụng Ajax
19 19 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu tổng quan
2. Sự hoạt động của Ajax
3. Dùng Ajax với đối tượng XmlHttpRequest
4. Dùng Ajax với thư viện AJAX ASP.NET
20 20 Ngành lập trình - CSDL
Dùng Ajax với đối tượng XmlHttpRequest
• Giới thiệu
• Các bước thực hiện
21 21 Ngành lập trình - CSDL
• Giới thiệu
− XmlHttpRequest là lớp thư viện của javascript
− XmlHttpRequest được dùng để yêu cầu (Http
request) về Web Server và nhận phản hồi
(Response) từ Web Server
− Dữ liệu phản hồi từ Web Server là xml hoặc text
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
22 22 Ngành lập trình - CSDL
• Các bước thực hiện:
− Bước 1: Khởi tạo đối tượng XmlHttpRequest
− Bước 2: Gán giá trị cho đối tượng
XmlHttpRequest và gửi về Web Server
− Bước 3: Nhận phản hồi từ Web Server và xử lý
kết quả nhận được
− Bước 4: Viết xử lý ở Web Server
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
23 23 Ngành lập trình - CSDL
• Các bước thực hiện:
− Bước 1: Khởi tạo đối tượng XmlHttpRequest
//Biến toàn cục dùng để tham chiếu đến đối tượng XmlHttpRequest
var xmlHttp = null;
//Phương thức tạo đối tượng XmlHttpRequest
function createXmlHttpReques()
{
var kq;
try{
kq = new XMLHttpRequest();
}
catch(e){
//IE6 hoặc cũ hơn
kq = new ActiveXObject("Microsoft.XMLHttp");
}
}
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
24 24 Ngành lập trình - CSDL
• Các bước thực hiện:
− Bước 2: Gán giá trị cho đối tượng XmlHttpRequest và
gửi về Web Server.
Có 2 phương thức để gửi yêu cầu: GET và POST
//Gửi bằng phương thức GET
var request = "XuatLoiChao.aspx?hoten=" + hoten;
xmlHttp.open("GET", request, true);
//Tham chiếu đến hàm xử lý kết quả trả về
xmlHttp.onreadystatechange = HienThiLoiChao;
//Gửi yêu cầu về Server
xmlHttp.send(null);
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
25 25 Ngành lập trình - CSDL
• Các bước thực hiện:
− Bước 2: Gán giá trị cho đối tượng XmlHttpRequest và
gửi về Web Server.
Có 2 phương thức để gửi yêu cầu: GET và POST
//Gửi bằng phương thức POST
var request = "XuatLoiChao.aspx";
xmlHttp.open("POST", request, true);
//Tham chiếu đến hàm xử lý kết quả trả về
xmlHttp.onreadystatechange = HienThiLoiChao;
//Gửi bằng phương thức POST phải gán Header cho Request
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
//Gửi yêu cầu về Server
xmlHttp.send("hoten=" + hoten);
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
26 26 Ngành lập trình - CSDL
• Các bước thực hiện:
− Bước 3: Nhận phản hồi từ Web Server và xử lý kết quả
nhận được
function HienThiLoiChao()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{ //nhận kết quả trả về
var loi_chao = xmlHttp.responseText;
//Truy xuất đến vùng để hiển thị lời chào
var divLoiChao = document.getElementById("divLoiChao");
//Hiển thị
divLoiChao.innerHTML = loi_chao; }
}
}
Nếu kết quả trả về là Text
responseText
Nếu kết quả trả về là Xml
responseXml
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
27 27 Ngành lập trình - CSDL
• Các bước thực hiện:
− Bước 4: Viết xử lý ở Web Server
protected void Page_Load(object sender, EventArgs e)
{
//Lấy họ tên mà Client gửi tới
string hoten = Request["hoten"];
//Tạo lời chào
string loi_chao = string.Format("Chào bạn {0}!", hoten);
//Gửi lời chào về Client
Response.Write(loi_chao);
//Kết thúc việc gửi dữ liệu về Client
//Nếu không có dòng này thì nó sẽ gửi luôn phần html trong trang aspx
Response.End();
}
Kết quả trả về dạng Xml:
string.Format(“Chào
bạn {0}!", hoten);
Bài 11: Giới thiệu và sử dụng Ajax
Dùng Ajax với đối tượng XmlHttprequest
28 28 Ngành lập trình - CSDL
Nội dung
1. Giới thiệu tổng quan
2. Sự hoạt động của Ajax
3. Dùng Ajax với đối tượng XmlHttpRequest
4. Dùng Ajax với thư viện AJAX ASP.NET
29 29 Ngành lập trình - CSDL
ASP.NET AJAX Framework
• Giới thiệu
• Cài đặt
• Cấu hình cho các website cũ
• Các control trong ASP.NET AJAX
30 30 Ngành lập trình - CSDL
• Giới thiệu
− ASP.NET AJAX Framework là thư viện hỗ trợ lập trình
Ajax cho ASP.NET của Microsoft
− ASP.NET AJAX giúp các ứng dụng ASP.NET hoạt động
theo cơ chế AJAX với cách lập trình không thay đổi (toàn
bộ xử lý ở Server)
− Ngoài ra, ASP.NET AJAX còn cung cấp các file script
giúp chúng ta lập trình ở Client mà không phụ thuộc vào
bất kỳ ngôn ngữ xử lý ở Server nào (ta có thể dùng PHP,
ASP.NET, JSP, để xử lý ở Server)
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
31 31 Ngành lập trình - CSDL
• Cài đặt
− Download gói cài đặt ASP.NET AJAX tại địa chỉ
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
32 32 Ngành lập trình - CSDL
• Cấu hình cho các website cũ
− Để sử dụng được tính năng của ASP.NET Ajax
trong các website project cũ (không được tạo
bằng template ASP.NET AJAX) thì ta phải cấu
hình cho các website này
− Mở file web.config mẫu của ASP.NET AJAX,
file này nằm ở đường dẫn:
C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.nnnn
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
33 33 Ngành lập trình - CSDL
• Cấu hình cho các website cũ
− Lần lượt thêm các phần chưa có từ file web.config mẫu
vào file web.config của website:
• element
• element
• element
• element
• element
• element
• element
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
34 34 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− ScriptManager
− UpdatePanel
− UpdateProgress
− Timer
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
35 35 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− ScriptManager:
• Dùng để quản lý các client script (javascript) cho các
trang ASP.NET AJAX
• Bắt buộc phải có trong các trang ASP.NET AJAX
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
36 36 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− UpdatePanel:
• UpdatePanel dùng để cập nhật nội dung nằm trong
nó mà không phải load lại toàn bộ trang web
• Trong 1 trang web ASP.NET AJAX, có thể có nhiều
UpdatePanel control. Ta có thể kiểm soát việc các
UpdatePanel cập nhật nội dung cho các vùng nằm
bên trong các UpdatePanel
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
37 37 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel:
• ChildrenAsTrigger (Boolean): nếu = true thì khi các
control nằm bên trong UpdatePanel có xảy ra
PostBack thì UpdatePanel sẽ cập nhật lại nội dung
nằm trong nó
• UpdateMode:
Always: luôn luôn cập nhật nội dung của UpdatePanel
Conditional: Cập nhật UpdatePanel có điều kiện.
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
38 38 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel:
• Ví dụ: Tìm kiếm thông tin học viên
Ta sẽ thiết kế giao diện như sau:
UpdatePanel1:
-ChildrenAsTrigger = true
Các control nằm bên trong
UpdatePanel sẽ tự động cập nhật
khi ta click vào nút Tìm kiếm
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
39 39 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel:
• Ví dụ: Tìm kiếm thông tin học viên
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
40 40 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel:
• Triggers: UpdatePanel cập nhật nội dung khi các biến
cố của các control được cấu hình làm trigger xảy ra
Ví dụ: ta thiết kế màn hình danh mục nhà xuất bản như
sau:
- DetailsView để thêm dữ liệu nhà xuất bản
- UpdatePanel để cập nhật lưới khi thêm nhà xuất bản
- Lưới GridView nằm bên trong UpdatePanel
- Cho phép xóa, sửa, sắp trên trên Lưới
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
41 41 Ngành lập trình - CSDL
Ví dụ: dùng UpdatePanel với Triggers
42 42 Ngành lập trình - CSDL
UpdatePanel cập nhật
nội dung khi sự kiện
ItemInserted của
DetailsView xảy ra
Ví dụ: dùng UpdatePanel với Triggers
43 43 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel:
• Phương thức Update: cập nhật nội dung nằm bên
trong UpdatePanel
Ví dụ: cập nhật nội dung UpdatePanel1 khi Click vào
Button thì trong biến cố Click của Button viết lệnh
như sau:
UpdatePanel1.Update();
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
44 44 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel: một số điểm cần lưu ý
• Sử dụng nhiều UpdatePanel Control: Giả sử trang
ASP.NET AJAX của ta có nhiều vùng nội dung muốn
cập nhật thì ta có thể chứa các vùng này trong các
UpdatePanel khác nhau
• Để kiểm soát được việc cập nhật của các UpdatePanel
control thì ta nên lưu ý đến thuộc tính UpdateMode
của nó. Ta gán UpdateMode = Conditional. Sau đó
kiểm soát việc cập nhật nội dung của UpdatePanel
bằng Trigger hoặc gọi phương thức Update của Panel
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
45 45 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Update Panel: một số điểm cần lưu ý
• Nếu ta để UpdateMode=Always thì khi có PostBack,
tất cả các UpdatePanel đều cập nhật nội dung. Điều
này sẽ ảnh hưởng tới cập nhật
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
46 46 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− UpdateProgress:
• UpdateProgress được dùng kèm với UpdatePanel
• UpdateProgress cho ta biết quá trình xử lý ở Server
của UpdatePanel có hoàn tất chưa
• Ví dụ: Để cập nhật nội dung hiển thị cho lưới thì
bước đầu ta phải lấy dữ liệu, sau đó mới hiển thị dữ
liệu cho lưới. Trong lúc chờ Server lấy dữ liệu cho
lưới thì ta có thể dùng UpdateProgress để xuất ra
câu thông báo: Đang load dữ liệu
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
47 47 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− UpdateProgress – Sử dụng:
• Thuộc tính AssociatedUpdatePanel dùng để gắn
UpdateProgress với UpdatePanel
• Ví dụ: Màn hình tìm kiếm học viên
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
48 48 Ngành lập trình - CSDL
• Các control trong ASP.NET AJAX
− Timer:
• Dùng để quy định sau một khoảng thời gian thì sẽ tự
động xử lý gì đó.
• Ví dụ: Sau mỗi giây thì cập nhật lại UpdatePanel. Ta
làm chương trình đồng hồ điện tử như sau:
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString("hh:mm:ss"); }
Bài 11: Giới thiệu và sử dụng Ajax
ASP.Net Ajax Framework
49 49 Ngành lập trình - CSDL
HẾT
Bài 11: Giới thiệu và sử dụng Ajax
Các file đính kèm theo tài liệu này:
- tailieu.pdf