316
 1  ASP.NET Văn Hnh Nguyn Vit Hùng Trn  Đình Nghĩa Ngô Tân Khai

ASP1-5B1-5D.NET_04Mar08

Embed Size (px)

Citation preview

Page 1: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 1/316

1

 ASP.NET

Lê Văn Hạnh 

Nguyễn Việt HùngTrần  Đình Nghĩa Ngô Tân Khai

Page 2: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 2/316

2

NỘI DUNG 

I. Web tĩnh và động  II. Giới thiệu về ASP.NETIII. IIS (Internet Information Services)IV. Các control trong ASP.NETV. Các đối tượng trong ASP.NETVI. ASP.NET & ADO.NETVII. Xây dựng  ứng  dụng bán sách qua

mạng 

Page 3: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 3/316

3

I.- Web tĩnh và động 

1.- Web tĩnh 

1. Trang HTML

Page 4: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 4/316

4

I.- Web tĩnh và động 

1.- Web tĩnh (tt) 

<html><head>

<title>Simple HTMLpage</title>

</head>

<body><h1>Welcome</h1>You are visitor number 1!

</body></html>

Browser Server

(IIS)

Request("My.html")

Response(My.html)

My.html

 My.html

Page 5: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 5/316

5

I.- Web tĩnh và động 

2.- Web động 

1. Hoạt  động tuân theo mô hìnhkhách/chủ (client/server)

Page 6: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 6/316

6

I.- Web tĩnh và động 

2.- Web động (tt) 

1. Các công nghệ tạo web động  CGI (Common Gateway Interface)

Chương trình dạng nhị phân thi hành trên server C/C++, Pascal, Perl, ... 1 request = 1 CGI instance  tốn bộ nhớ, chậm 

ISAPI (Internet Server API) DLL

ASP (Active Server Page), JSP, ... Script Gom các giao tiếp ISAPI vào 1 DLL Dễ bảo trì, xử lý dữ liệu động nhanh, hiệu quả 

Page 7: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 7/316

7

NỘI DUNG (tt) 

I. Web tĩnh và động II. Giới  thiệu  về ASP.NET 

III. IIS (Internet Information Services)IV. Các control trong ASP.NETV. Các đối tượng trong ASP.NET

VI. ASP.NET & ADO.NETVII. Xây dựng ứng dụng bán sách qua mạng 

Page 8: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 8/316

8

II.- Giới thiệu về ASP.NET 

1. Lịch sử phát triển 2. Một số khái niệm về ASP.NET3. Quy trình xử lý trang ASP.NET4. Các chỉ dẫn trong trang ASP.NET5.

IsPostBack và IsCrossPagePostBack6. Global.asax

Page 9: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 9/316

9

II.-Giới thiệu về ASP.NET 

1.-Lịch sử phát triển 

1. Công nghệ ASP của Microsoft đã phát triển qua cácgiai đoạn chnh:

12 / 1996, ASP version 1.0 ( với IIS 3.0): công nghệ  tạo webđộng 

9/1997, ASP 2.0 (IIS 4.0) 11/2000, phiên bản cuối cùng của ASP – ASP version 3.0 (IIS5.0 ) 01/2002, công nghệ  mới ASP.NET 1.0 cùng với  bộ Visual

Studio.NET 04/2003 Microsoft phát hành phiên bản ASP.NET 1.1 cùng bộ 

Visual Studio.NET 2003 & Windows Server 2003 07/2005, ASP.NET 2.0 – tên mã là Whidbey 23/01/2007, ASP.NET AJAX 1.0, phần  mở  rộng cho bộ 

ASP.NET Hiện nay: ASP.Net 3.0 !

Page 10: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 10/316

10

II.- Giới thiệu về ASP.NET 

2.- Một số khái niệm 

1. ASP là thuật ngữ viết tắt của Active Server Page

2. Là môi trường  lập trình kết  hợp  với HTML, cácngôn ngữ kịch  bản như VBScript, JavaScript… để tạo  những  ứng  dụng Internet mạnh  mẽ và hoàn

chỉnh 

3. ASP chạy trên nền Internet Information Services(IIS)

4. ASP.NET kết  hợp hai dòng triển khai công nghệ 

web là Web Forms và Web Services.5. Chứa dữ liệu dạng text, HTML, XML và script

6. Các đoạn script được thực thi trên server

Page 11: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 11/316

11

II- Giới thiệu về ASP.NET 

2.- Một số khái niệm (tt) 

7. Tạo ứng dụng web nhanh chóng đơn giản.

8. Kết xuất dữ liệu động của web.

9. Kiểm tra dữ liệu phía người dùng.

10. Kết nối, rút trích dữ liệu.11. Đơn giản và tốc độ nhanh.

12. Bảo  mật  hơn vì mã ASP không thể xem được  từ trình duyệt.

13. Một chương trình ASP gọn gàng có thể giảm  thiểu hiệu quả  lưu  lượng  truyền  tải qua một mạng  truyền thông.

Page 12: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 12/316

12

II.- Giới thiệu về ASP.NET 

2.-Một số khái niệm (tt) 

14. Phát triển ứng dụng web ở phía Server  dựa trên nền tảng Microsoft .Net Framework

15. Cho phép lựa chọn một trong các ngôn ngữ lập trình:C#, Visual Basic.Net, J#, … 

16. Sử  dụng phong cách lập trình mới: Code behind .Tách phần code riêng, giao diện riêng  Dễ đọc, dễ quản lý, bảo trì.

17. Tự động phát sinh mã HTML cho các Server control

tương ứng với từng loại browser.18.  Đoạn mã trên ASP.Net được biên dịch  chứ khôngdiễn dịch như ASP nên chạy nhanh hơn.

Page 13: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 13/316

13

II.- Giới thiệu về ASP.NET 

2.- Một số khái niệm (tt) 

19. Kiến trúc lập trình trên ASP.Net giống ứng dụng trong Windows.

20. Xây dựng ứng dụng không cần đến IIS21. Hỗ trợ nhiều cơ chế cache.22. Triển khai cài đặt không cần lock, không

cần  đăng ký DLL, cho phép nhiều hìnhthức cấu hình ứng dụng.23. Hỗ trợ quản lý ứng dụng ở mức toàn cục 

Page 14: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 14/316

14

II.- Giới thiệu về ASP.NET 

2.- Một số khái niệm (tt) 

24. Thay vì phải  đọc và thông dịch  mỗi khiđược yêu cầu, ASP.Net biên dịch  trước những trang web động thành những  tập tin DLL mà Server có thể thi hành nhanhchóng và hiệu quả.

H  t  ml    p  a  g  e 

Server

 ASPXEngine

Page DLL

trả lời 

Gửi yêu cầu 

Page 15: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 15/316

15

II.- Giới thiệu về ASP.NET 

2.- Một số khái niệm (tt) 

25. Dễ triển khai và cấu hình Machine.config: cấu hình cho mọi  ứng  dụng 

ASP.NET trên máy chủ  Web.config: cấu hình cho từng Web Site tương 

ứng 

26. Cung cấp nhiều điều khiển server mới: Dữ liệu   Điều hướng   Đăng nhập  Themes & Skin

Page 16: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 16/316

16

II.- Giới thiệu về ASP.NET 

3.- Quy trình xử lý trang ASP.NET 

1. Khi Web Servernhận  được yêucầu  từ phía

client, nó sẽ tìmkiếm  tập tinđược yêu cầu thông qua chuỗi 

URL được  gửi về, sau đó  tiến hành xử lý theosơ đồ sau:

Servertìm kiếmtập tin 

Xử lýtập tin ASPX

Thay đổi ? Biêndịch 

Lưu trữ dướidạng DLL  Thi hành

trang ASPX

Không

Hồi đáp 

Biên dịch lỗi 

 Yêu cầu 

Page 17: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 17/316

17

II.- Giới thiệu về ASP.NET 

3.- Quy trình xử lý trang ASP.NET (tt) 

2. Hai loại lệnh được gửi đến server: + GET:

http://www.abcxyz123.com/site/index.asp?page=5  Tên miền http://www.abcxyz123.com/    Đường dẫn “ /site/ ”  Trang web duyệt “index.asp” hay “default.asp”  Thêm một số tham số sau dấu chấm hỏi (?) –các tham

số phân cách nhau bằng  dấu  “&” và cú pháp là“tênthamsố=giátrị”.

+ POST: Tham số được gửi riêng trong 1 HTTP header chứ không

thể hiện trong URL như trên.

3. Web form của ASP.Net thường  sử  dụng POST.

Page 18: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 18/316

18

II.- Giới thiệu về ASP.NET 

3.- Quy trình xử lý trang ASP.NET (tt) 

… <body><form id="form1" runat="server" method="post" action="Default.aspx"><div>

<asp:Button ID="Button1" runat="server" Text="Button"PostBackUrl="~/Default.aspx"/>

<asp:Label ID="Label1" runat="server" ForeColor="Red" Text="Label"Width="375px"></ asp:Label><br />Nội dung trong form gõ bằng văn bản thường.<%dim i as integerfor i=1 to 5

Response.Write("<BR><Font Size=" + CStr(i) + ">Font chữ cỡ " + CStr(i) +"</Font>")

next%></ div></ form>

</ body>

… 

Page 19: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 19/316

19

II.- Giới thiệu về ASP.NET 

4.- Các chỉ dẫn trong trang ASP.NET 

Page Assembly Control Implements

Import

Master OutputCache PreviousPageType Reference

Register

4. Dùng kiểm soát hành động của trang web haycác server control

Page 20: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 20/316

20

II.- Giới thiệu về ASP.NET 

5.- IsPostBack và IsCrossPagePostBack

1. Khi làm việc với  thẻ Form trong ASP.NET,thuộc tính IsPostBack  vàIsCrossPagePostBack  giúp ta biết  được 

trang được gọi trực tiếp hay được submit2. Ví dụ:

If (IsPostBack)„Thực hiện việc khi trang được submit

Else„Thực hiện việc khi trang được gọi trực tiếp 

End If

Page 21: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 21/316

21

II.- Giới thiệu về ASP.NET 

6.- Global.asax

1.  Được  gọi  thực  hiện  tự  động  mỗi khicó một yêu cầu gửi đến web site

2. Add New Item / Global Application Class   để thêm Global.asax  vàoproject

3. Các lệnh  được  thực  hiện thông quacác biến cố: Application_Start, Application_End,

Application_Error

Session_Start, Session_End

Page 22: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 22/316

22

II.- Giới thiệu về ASP.NET 

6.- Global.asax (tt)

4. Application_Start  Được triệu gọi khi web site nhận được yêu cầu đầu 

tiên

Thường được sử dụng để khởi tạo môi trường haycác biến tầm ứng dụng  Ví dụ:

Sub Application_Start(ByVal sender As Object, ByVale As EventArgs)

' Code that runs on application startup 

 Application(“Visitors") = 0End Sub

Page 23: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 23/316

23

II.- Giới thiệu về ASP.NET 

6.- Global.asax (tt)

5. Application_End Xảy ra khi web site shut down Thường dùng để  lưu  trữ các dữ  liệu  cần 

thiết cho lần Start kế  tiếp và giải phóng tàinguyên do ứng dụng nắm giữ 

Page 24: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 24/316

24

II.- Giới thiệu về ASP.NET 

6.- Global.asax (tt)

6. Application_Error Xảy ra khi phát sinh lỗi trong bất kỳ trang nào trong

web site

Thường dùng để chuyển đến các trang báo lỗi riêngcủa ứng dụng  Ví dụ:

Sub Application_Error(ByVal sender As Object, ByVale As EventArgs)

' Code that runs when an unhandled error occurs 

Response.Redirect("Errors.aspx")End Sub

Page 25: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 25/316

25

II.- Giới thiệu về ASP.NET 

6.- Global.asax (tt)

7. Session_Start Khác biệt với Application_Start, Session_Start  được 

gọi  mỗi khi có một yêu cầu  đầu tiên của  một user

mới  Thường dùng để khởi  tạo môi trường hay các biến 

cho riêng từng user Ví dụ:

Sub Session_Start(ByVal sender As Object, ByVal eAs EventArgs)' Code that runs when a new session is started 

Application("Visitors") = CInt(Application("Visitors")) + 1End Sub

Page 26: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 26/316

26

II.- Giới thiệu về ASP.NET 

6.- Global.asax (tt)

8. Session_End Xảy ra khi một user kết thúc quá trình duyệt web site

(kết thúc phiên làm việc)  Thường dùng để lưu trữ các biến của riêng user Ví dụ:

Sub Session_Start(ByVal sender As Object, ByVal e AsEventArgs)

' Code that runs when a new session is started 

Application("Visitors") = CInt(Application("Visitors")) - 1 End Sub

Page 27: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 27/316

27

NỘI DUNG (tt) 

I. Web tĩnh và động II. Giới thiệu về ASP.NET

III. IIS (Internet Information Services) IV. Các control trong ASP.NETV. Các đối tượng trong ASP.NET

VI. ASP.NET & ADO.NETVII. Xây dựng ứng dụng bán sách qua mạng 

Page 28: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 28/316

28

III.- IIS (Internet Information Sevices)

1. Chức năng của IIS2. Mô hình hoạt động 

3. Cài đặt 4. Sử dụng & cấu hình5. Ví dụ 

Page 29: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 29/316

29

1. IIS:  Được sử dụng như một Web Server, kết hợp với ASP để 

xây dựng các ứng dụng Web

Chuyển giao thông tin bằng giao thức  chuyển  đổi siêuvăn bản HTTP

2. IIS sử dụng trong: Xuất bản 1 Home page lên internet Tạo các giao dịch thương mại trên internet Truy xuất cơ sở dữ liệu từ xa

3. IIS là phần mềm của Microsoft dành cho Windows4. Windows 2000 và Windows XP tích hợp sẵn IIS

III.- IIS

1.- Chức năng 

Page 30: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 30/316

30

1. Hoạt động của IIS: IIS dịch URL sang path cục  bộ (vd: 

d:\domains\thisSite\wwwroot\site\index.aspx )

Sử dụng trình biên dịch Common LanguageRuntimedịch sang ngôn ngữ trung gian MSIL, rồi sang mã nhị phân để thực thi.

Mã nhị phân được chứa tạm vào 1 vùng. Nếu lần gọi sau cần sử dụng mà trang web không có gì thay đổi 

thì sẽ lấy sử dụng mà không cần dịch lại. Nếu có thayđổi thì sẽ dịch lại và cập nhật vào vùng này.

Server trả về kết quả  tương ứng với trình duyệt của client.

Trình duyệt client xử lý phần hiển thị.

III.- IIS

2.-Mô hình hoạt động 

Page 31: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 31/316

31

1.  Để triển khai 1 ứng dụng, chỉ cần: IIS Framework Webforms(*. aspx) + dll(bin) +style(image,database,…) +

web.config

2.  Để phát triển ứng dụng  IIS .NET

3. IIS được tích hợp sẵn trong bộ cài Windows XP Control panel / Add Remove Programs / Windows

Components

III.- IIS

3.- Hướng dẫn cài đặt 

Page 32: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 32/316

32

III.- IIS

3.- Hướng dẫn cài đặt (tt) 

4. Thư mục gốc củaWebServer

Page 33: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 33/316

33

Page 34: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 34/316

34

Page 35: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 35/316

35

III.- IIS

4.- Sử dụng và cấu hình 

5. Start Control Panel Administrative

Tools

InternetServicesManager.

Page 36: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 36/316

36

III.- IIS

4.- Sử dụng và cấu hình (tt) 

Page 37: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 37/316

37

III.- IIS

4.- Sử dụng và cấu hình (tt) 

6. Web Sites Default Web

site Properties

Thông tin thưmục gốc và Web mặc định

Page 38: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 38/316

38

III.- IIS

4.- Sử dụng và cấu hình (tt) 

7. Web Sites Default Web

site New Virtual

Directory

Page 39: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 39/316

39

III.- IIS

4.- Sử dụng và cấu hình (tt) 

Page 40: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 40/316

40

III.- IIS

4.- Sử dụng và cấu hình (tt) 

Page 41: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 41/316

41

III.- IIS

4.- Sử dụng và cấu hình (tt) 

Page 42: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 42/316

42

III.- IIS

5.-V dụ 

1. Tạo  thư  mục  chứa Web Site: My Documents / Visual Studio 2005 / WebSites / TestWebSite

2. File / New / Web Site3. Chọn loại ứng dụng là ASP.NET WebSites4. Chọn Browse và chuyển đến thư mục vừa tạo. Ngôn ngữ là Visual Basic. OK.

Page 43: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 43/316

43

III.- IIS

5.-V dụ (tt) 

5. Cửa  sổ Solution thể  hiện  nội dung ứng dụng vừa tạo như bên

6. Nội dung trang web mặc định 

Page 44: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 44/316

44

III.- IIS

5.-V dụ (tt) 

7. Gõ thêm nội dung như sau

Page 45: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 45/316

45

III.- IIS

5.-V dụ (tt) 

8. Nhấn F5 để mở trang web trong Browser

Page 46: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 46/316

46

III.- IIS

5.-V dụ (tt) 

9. Trong trang Default.aspx, chuyển sang chế độ Design, bổ sung 1 button

control và 1 label control vào trangnhư hình vẽ sau:

10. Ta sẽ  hiển  thị dòng chữ  clicked  khiuser click vào button

Page 47: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 47/316

47

III.- IIS

5.-V dụ (tt) 

11. Double click vào button và gõ lệnh  như sau: Label1.Text = "Clicked“ 

12. Nhấn F5 để chạy ứng dụng 

Page 48: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 48/316

48

NỘI DUNG (tt) 

I. Web tĩnh và động II. Giới thiệu về ASP.NETIII.

IIS (Internet Information Services)IV. Các control trong ASP.NET 

V. Các đối tượng trong ASP.NET

VI. ASP.NET & ADO.NETVII. Xây dựng ứng dụng bán sách qua mạng 

Page 49: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 49/316

49

IV.- CÁC CONTROL TRONG ASP.NET

1. Server control2. ASP.NET Server control3.

Các server control đặc biệt 4. Các server control mẫu 5. Các server control kiểm tra dữ liệu 

Page 50: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 50/316

50

IV.- Các control trong ASP.NET

1.- Server control

1. Một Form (còn gọi là Web Form) trongASP.NET được xem như  một  vật  chứa cácserver control và client script

2. Trong ASP.NET, thay vì các mã lệnh ASP vàmã lệnh giao diện (HTML) bị  trộn  lẫn trong 1file, chúng được tách thành 2 file riêng biệt (.aspx.vb và .aspx)

3.

Các control khai báobằng

 thẻ

HTMLtrước

 đây

 (client-side) được  khuyến cáo thay bằng cácserver control (server-side)

Page 51: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 51/316

51

IV.- Các control trong ASP.NET

1.- Server control (tt)

4. Có hai loại server control: HTML server control (gọi là server

control)

ASP.NET server control (phần sau)

5. Server control chính là các

HTML control có thuộc tínhrunat=“server”  <input id=“Button1”  type=“submit” 

value=“OK” runat=“server”/> 

Page 52: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 52/316

52

IV.- Các control trong ASP.NET

1.- Server control (tt)

6. Server controlđược phân thành

2 loại: Nhập liệu  Chứa 

C S

Page 53: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 53/316

53

IV.- Các control trong ASP.NET

1.- Server control (tt)

7. Ví dụ: trang đăng nhập  Xây dựng trang đăng nhập như sau:

Tạo mới 1 Web Form

 Đặt vào Web Form 1 table, 2 textbox và 2button như hình sau

Click phải vào các control và chọn RunAs Server Control

Table

txtUser

txtPass

btnOK

btnReset

IV Cá l ASP NET

Page 54: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 54/316

54

IV.- Các control trong ASP.NET

1.- Server control (tt)

8. Ví dụ: trang đăng nhập  Double click vào button btnOK và viết 

lệnh như sau:Protected Sub btnOK_ServerClick(ByVal sender As Object, ByVal e As System.EventArgs)

Handles btnOK.ServerClickDim ok As Boolean = TrueIf (txtUser.Value = "") Then

Response.Write("Bạn phải nhập trên truy cập") ok = False

End IfIf (txtPass.Value = "") Then

Response.Write("Bạn phải nhập mật khẩu") ok = False

End IfIf (ok) Then

Response.Write("Bạn đã đăng nhập với tên: " + txtUser.Value + ", mật khẩu: " +txtPass.Value)

End IfEnd Sub

IV Cá t l t ASP NET

Page 55: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 55/316

55

IV.- Các control trong ASP.NET

1.- Server control (tt)

9. Ví dụ: trang đăng nhập  Nhấn F5 để thực thi Form Sau khi nhập thông tin và nhấn  Đăng nhập, 

trang web có dạng như sau:

IV Cá t l t ASP NET

Page 56: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 56/316

56

IV.- Các control trong ASP.NET

2.- ASP.NET Server control

1. HTML Server Control là cách nhanh nhất giúpchuyển  đổi các ứng  dụng ASP cũ sangASP.NET

2. Tuy nhiên, HTML Server Control không chophép cập nhật thuộc tính trực quan khi thiết kế 3.  Định dạng cho các HTML Server Control được 

thực  hiện thông qua cú pháp CSS khôngtận dụng được tính hướng đối tượng 

IV Cá t l t ASP NET

Page 57: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 57/316

57

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)

IV Cá t l t ASP NET

Page 58: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 58/316

58

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)

4.  Được chia thành nhiều loại: Chuẩn: nhập liệu, chứa  Danh sách (List): trình bày dữ liệu 

Phức  tạp (Rich): trình bày dữ  liệu  phức  tạp (calendar, TreeView, AdRotator, Table, MultiView) Kiểm tra (Validation): kiểm tra dữ liệu nhập trên các

control khác

Mobile: hỗ trợ thiết bị cầm tay User control, Custom control

IV Các control trong ASP NET

Page 59: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 59/316

59

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)

5. Ví dụ: trang đăng ký Tạo  mới trang signin.aspx theo hình

sautxtUser

txtPass

calNgaySinh

btnOK

btnReset

IV Các control trong ASP NET

Page 60: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 60/316

60

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)

Protected Sub btnOK_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnOK.ClickDim ok As Boolean = TrueDim str As String = ""If (txtUser.Text = "") Then

Response.Write("Bạn phải nhập trên truy cập")ok = False

Elsestr = "Bạn đã đăng ký với tên: " + txtUser.TextEnd IfIf (txtPass.Text = "") Then

Response.Write("Bạn phải nhập mật khẩu")ok = False

Elsestr += ", mật khẩu: " + txtPass.Text

End Ifstr += ", ngày sinh: " + calNgaySinh.SelectedDate.ToShortDateString()If (ok) Then

Response.Write(str)End If

End Sub

IV Các control trong ASP NET

Page 61: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 61/316

61

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)

Protected Sub btnReset_Click(ByVal sender AsObject, ByVal e As System.EventArgs)

Handles btnReset.ClicktxtUser.Text = ""txtPass.Text = ""

calNgaySinh.SelectedDate = Date.Now()End Sub

IV Các control trong ASP NET

Page 62: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 62/316

62

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)

6. Nhấn F5 để  thực thi trang web. Saukhi nhập thông tin và click Chấp nhận, kết quả như sau:

IV Các control trong ASP NET

Page 63: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 63/316

63

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt): Thuộc tnh chung 

AccessKey

BackColor BorderColor BorderWidth

BorderStyle CssClass Enables

EnableTheming

Font

ForeColor Height SkinID

Style TabIndex ToolTip

Width

7. Các control trong ASP.NET đều cóchung một số thuộc tính như sau:

IV Các control trong ASP NET

Page 64: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 64/316

64

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt) - Label

1. Dùng trình bày chuỗi trên trình duyệt 2. Tạo control label

<asp:Label property name=… Text=“…” /> Chọn control Label trên ToolBox vẽ vào

trang (Design), đặt thuộc tính name, Text

3. Khi kết  xuất ra trình duyệt phía client,Label sẽ  được  diễn  dịch thành thẻ <span>

IV.- Các control trong ASP.NET

Page 65: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 65/316

65

2.- ASP.NET Server control (tt) - TextBox

1. Cho phép user nhập và submit dữ liệu 2. <asp:TextBox ID=“…”  runat=“server” 

MaxLength=“100” Width=“139px” />3. Kéo control TextBox từ ToolBox vào

trang và điều chỉnh các thuộc tính4. Thuộc tính TextMode: chỉ định kết xuất 

SingleLine: <input type=“Text” … />

Page 66: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 66/316

66

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)  – TextBox (tt)

MultiLine: <TextArea name=… /> Password: <input type=“password” … />

5. MaxLength: giới  hạn  số  lượng ký tự 

được nhập vào (0=không giới hạn) 6. ReadOnly: không cho chỉnh  sửa dữ  liệu 

trong TextBox7. Enabled: giống ReadOnly nhưng control

không có Focus

IV - Các control trong ASP NET

Page 67: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 67/316

67

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt)  – TextBox (tt)

8. Hầu hết các ASP.NET control đều có sự kiện riêng. Để chọn sự kiện cần chận vàxử lý, mở cửa sổ code-behind của trang,

chọn control phía bên trái, sự  kiện phíabên phải 

IV Cá t l t ASP NET

Page 68: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 68/316

68

IV.- Các control trong ASP.NET

2.- ASP.NET Server control (tt) - HiddenField

1. Là control không hiển  thị trong trìnhduyệt, cho phép lưu  trữ  dữ  liệu (dotrang web ấn  định) và được truy xuất 

thông qua thuộc tính ID, Value2. Thường dùng để xác định  nguồn  gốc submit hay lưu  trữ  dữ  liệu  cần  giấu user Trang ResultPresent.aspx dùng chung

cho trình bày dữ  liệu  từ nhiều trang khácnhau. Mỗi trang submit đến trang này đều có 1 HiddenField xác định cho riêng nó.

IV - Các control trong ASP NET

Page 69: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 69/316

69

IV. Các control trong ASP.NET

2.- ASP.NET Server control (tt) - Button

1. Tạo các nút lệnh có chức  năng Submit, Resethay Button thường tùy thuộc vào thuộc tínhUseSubmitBehavior

<asp:Button ID=“…” runat=“Server” Text=“…”/> 

2. Tạo trang web có nội dung như sau TextBox kết  quả có

ReadOnly=True Các Button có

UseSubmitBehavior=False

IV - Các control trong ASP NET

Page 70: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 70/316

70

IV. Các control trong ASP.NET

2.- ASP.NET Server control (tt)  – Button (tt)

3. Double click vào Button + và viết  lệnh cho sự kiện Clicknhư sau:

Protected Sub btnCong_Click(ByVal sender As Object, ByVal 

e As System.EventArgs) Handles btnCong.Click Dim n1, n2, kq As Double 

n1 = Double.Parse(txtSo1.Text)

n2 = Double.Parse(txtSo2.Text)

kq = n1 + n2 txtKQ.Text = kq 

End Sub 

4. Các Button khác thực hiện tương tự 

IV.- Các control trong ASP.NET

Page 71: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 71/316

71

IV. Các control trong ASP.NET

2.- ASP.NET Server control (tt) - ImageButton

1. Là một hình ảnh có chức  năng  tương  tự như Button submit

2. Hình ảnh cung cấp cho ImageButton được chỉ định trong thuộc tính ImageURL

3. Các tập tin hình ảnh nên được Include vàoproject và lưu  trữ trong cùng 1 thư  mục 

(click phải tên project, chọn New Folder)4. Kết  xuất trình duyệt:

<input type=“image ... />

IV.- Các control trong ASP.NET

Page 72: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 72/316

72

IV. Các control trong ASP.NET

2.- ASP.NET Server control (tt) - LinkButton

1. Hành xử  như button submit nhưng  biểu hiện dưới dạng một liên kết 

2. <asp:LinkButton ID=… />

3. Kết xuất trình duyệt: <A ID=“…” … />4. Khi tạo ra một LinkButton, nó sẽ hành xử 

như một button thường 

5.  Để có tính năng submit, chỉ định trang sẽ submit đến trong thuộc tínhPostBackURL

IV.- Các control trong ASP.NET

Page 73: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 73/316

73

Các co t o t o g S

2.- ASP.NET Server control (tt) - HyperLink

1. Cho phép khai báo địa chỉ Internet hayFile và sẽ triệu gọi chúng khi user click

<asp:HyperLink  ID=“…”   runat=“server”  NavigateURL=“http:// …”  Text=“…”  

ImageURL=“…”  

 /> 

IV.- Các control trong ASP.NET

Page 74: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 74/316

74

g

2.- ASP.NET Server control (tt) - List

1. Trình bày dữ  liệu  dạng danh sáchphần tử  DropDownList: chọn 1 trong danh sách

<asp:DropDownList ID=“…” runat=“server” /> </asp:DropDownList>

ListBox: chọn 1 hoặc nhiều phần tử  <asp:ListBox ID=“…”  runat=“server” 

SelectionMode=“…”/>  Single: chọn 1 Multiple: chọn nhiều 

</asp:ListBox>

IV.- Các control trong ASP.NET

Page 75: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 75/316

75

g

2.- ASP.NET Server control (tt)  – List (tt)

2.  Để thêm dữ liệu vào dạng control này, tacó thể làm theo 2 cách:

Sử  dụng  thuộc tính Items trong sự  kiện Page_Load. Đây là cách thêm động các mục chọn dữ liệu cho control

Sử  dụng  thuộc tính Items trong cửa  sổ 

Properties khi thiết  kế trang.  Đây là cáchthêm tĩnh các mục chọn dữ liệu cho control

IV.- Các control trong ASP.NET

Page 76: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 76/316

76

g

2.- ASP.NET Server control (tt)  – List (tt)

3. Các control dạng List có một số  thuộc tính cần quan tâm:

SelectedItem : nhận về phần tử được chọn  SelectedValue : nhận về giá trị khóa được 

chọn 

4. Sự  kiện SelectedIndexChanged chobiết khi nào user click chọn  phần  tử mới  (cần  đặt  thuộc tínhAutoPostBack=True)

IV.- Các control trong ASP.NET

Page 77: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 77/316

77

g

2.- ASP.NET Server control (tt)  – List (tt)

5. Ví dụ: tạo 1 Web Form mới.  Đặt vàoform các control như sau.  Đặt  thuộc tính AutoPostBack=True cho 3 control

dạng ListLabel DropDownList: cboNgay, cboNam

ListBox: lstThangLabel: lblKQ

IV.- Các control trong ASP.NET

Page 78: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 78/316

78

2.- ASP.NET Server control (tt)  – List (tt)

6. View / Component Designer. Trongcửa  sổ Properties, chọn , rồi double click vào sự  kiện Load để 

chận sự kiện Load của trang webIf Not IsPostBack ThenDim i As IntegerFor i = 1 To 31

cboNgay.Items.Add(i)

NextFor i = 1 To 12

lstThang.Items.Add(i)Next

For i = 1940 To 2010cboNam.Items.Add(i)

NextcboNgay.SelectedValue = "1"

lstThang.SelectedValue = "1"cboNam.SelectedValue = "1977"

End If

IV.- Các control trong ASP.NET

Page 79: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 79/316

79

2.- ASP.NET Server control (tt)  – List (tt)

7. Xây dựng 2 function như sau trongcửa sổ code-behind

Private Function GetDate() As StringDim d As Stringd = cboNgay.SelectedValue & "/"d += lstThang.SelectedValue & "/"d += cboNam.SelectedValueReturn d

End Function

Private Function CheckDate() AsBoolean

Dim d As String, result As Dated = GetDate()

Return Date.TryParse(d, result)End Function

IV.- Các control trong ASP.NET

Page 80: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 80/316

80

2.- ASP.NET Server control (tt)  – List (tt)

8. Double click vào từng control dạng List (cboNgay, lstThang, cboNam) vàviết lệnh như sau:If CheckDate() Then

lblKQ.Text = GetDate()Else

lblKQ.Text = "Ngày sai"End If

1. Nhấn F5 để thực thi trang web

IV.- Các control trong ASP.NET

Page 81: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 81/316

81

2.- ASP.NET Server control (tt)  – CheckBox

1. Là một control cung cấp khả năng chọn lựa giữa hai trạng thái: có/không, bật/tắt 

2. Thường dùng cung cấp  một  loạt các

chọn lựa cho phép user chọn nhiều mục <asp:CheckBox ID=“…” runat=“server” 

Text=“…” /> 

3. Kết xuất trình duyệt:<input type=“checkbox” … /> 

IV.- Các control trong ASP.NET

Page 82: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 82/316

82

2.- ASP.NET Server control (tt)  – CheckBox (tt)

4. Thuộc tính Checked cho biết control hiện có đang được chọn hay không5. Sự  kiện CheckedChanged cho biết khi nào user

bật/tắt chọn lựa (AutoPostBack=True)6. Ví dụ: duyệt qua tất cả CheckBox trên Web Form

để tìm các CheckBox được chọn Dim ctl As Control For Each ctl In form1.Controls 

If TypeOf (ctl) Is CheckBox Then Dim chk As CheckBox = ctl If (chk.Checked) Then 

„  Lệnh  xử lý End If 

End If 

Next 

IV.- Các control trong ASP.NET

Page 83: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 83/316

83

2.- ASP.NET Server control (tt)  –CheckBoxList

1. Nếu  muốn  tạo ra nhiều  chọn  lựa  bằng CheckBox, ta phải  tạo  mỗi  chọn  lựa làmột CheckBox

2. CheckBoxList là một control cho phépchọn nhiều mục chọn, với mỗi mục chọn là một CheckBox

3. Hoạt  động  tương  tự  như ListBox cóSelectionMode=Multiple

IV.- Các control trong ASP.NET

Page 84: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 84/316

84

2.- ASP.NET Server control (tt) - RadioButton

1. Tương tự như CheckBox. Tuy nhiên, việc đánh  dấu  nhiều  chọn  lựa  dạng RadioButton sẽ mang tính loại trừ 

2. Các RadioButton có thuộc tínhGroupName mang cùng một giá trị  sẽ thuộc cùng một nhóm và chọn  lựa  loại 

trừ lẫn nhau

IV.- Các control trong ASP.NET

Page 85: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 85/316

85

3.- ASP.NET Server control đặc biệt (tt) - RadioButtonList

1. Thực chất, đây là một control dạng danhsách gói gọn nhiều RadioButton vào một control duy nhất 

2. Cách thức hoạt động và sử dụng controlnày hoàn toàn tương  tự như ListBox cóthuộc tính SelectionMode=Single

IV.- Các control trong ASP.NET

Page 86: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 86/316

86

3.- ASP.NET Server control đặc biệt (tt) - FileUpload

1. Cho phép user chọn file trên client và tải lên server

<asp:FileUpload ID=“…” runat=“server” /> 

2. Kết xuất trình duyệt:<input type=“file”…/> 

3. HasFile : thuộc tính cho biết controlFileUpload có chứa  tập tin upload haykhông

IV.- Các control trong ASP.NET

Page 87: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 87/316

87

3.- ASP.NET Server control đặc biệt (tt) – FileUpload (tt)

4. FileName : thuộc tính cho biết tên tập tinsẽ được upload

5. PostedFile : sử  dụng  thuộc tính

ContentLength của  đối  tượng này để kiểm tra kích thước tính bằng byte của file được upload

6. SaveAs : phương  thức dùng upload thực sự và lưu file vào thư mục xác định trênserver

IV.- Các control trong ASP.NET

Page 88: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 88/316

88

3.- ASP.NET Server control đặc biệt (tt) – FileUpload (tt)

7. Tạo Web Form mới đặt tênFileUploadForm   gồm cáccontrol như sau

8. Double click vào button Upload và viết lệnh như sau: Dim file As HttpPostedFile = FileUpload1.PostedFile 

If (file.ContentLength < 100 * 1024) Then 

FileUpload1.SaveAs("C:\Downloads\“+ 

FileUpload1.FileName)lblKQ.Text = "File đã được  tải lên server" 

Else 

lblKQ.Text = "File có kích thước quá lớn"  

End If 

IV.- Các control trong ASP.NET

Fil U l d ( )

Page 89: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 89/316

89

3.- ASP.NET Server control đặc biệt (tt) – FileUpload (tt)

9. Nhấn F5 để  thực thi trang web, kết quả như hình dưới đây 

IV.- Các control trong ASP.NET

M

Page 90: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 90/316

90

3.- ASP.NET Server control đặc biệt (tt) - Menu

1. Tạo hệ thống trình đơn trên trang Web2. <asp:Menu ID=“…” runat=“server”/> 3. Một hệ thống trình đơn có thể được trình

bày theo chiều ngang hoặc dọc, quy định trong thuộc tính Orientation4. Hoạt động tựa như một cây phân cấp 

5. Các menuitem con được  quản lý thôngqua thuộc tính Items

IV.- Các control trong ASP.NET

M ( )

Page 91: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 91/316

91

3.- ASP.NET Server control đặc biệt (tt) – Menu (tt)

6. Tạo mới Web Form Menu.aspx, bổ sung control Menu vào trang7. Click vào button … trong thuộc tính Items và thiết  kế menu như 

hình sau

8. F5 thực thi

Thêm nút gốc 

Thêm nút con củanút hiện hành 

Liên kết đến trangsẽ hiển thị 

IV.- Các control trong ASP.NET

B ll t dLi t

Page 92: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 92/316

92

3.- ASP.NET Server control đặc biệt (tt) - BulletedList

1. Trình bày thông tin theo dạng danh sáchbulleted

<asp:BulletedList ID=“…”  runat=“server”> <asp:ListItem> Item 1 </asp:ListItem> 

… 

<asp:ListItem> Item n </asp:ListItem> </asp:BulletedList>

IV.- Các control trong ASP.NET

B ll t dLi t (tt)

Page 93: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 93/316

93

3.- ASP.NET Server control đặc biệt (tt) – BulletedList (tt)

2. Thuộc tính DisplayMode cho phép chuyển  đổi  dạng trình bày của các ListItem theo: Text, HyperLink,LinkButton

3.

Nếu trình bày theo dạng HyperLink, ta nên điều chỉnh các thuộc tính như sau:< asp : BulletedList ID ="BulletedList1" runat ="server" 

DisplayMode ="HyperLink"> 

< asp : ListItem  Value ="~/FileUpload.aspx">Home 

</ asp : ListItem > < asp : ListItem  Value ="~/list.aspx">Tất   cả  sản  phẩm 

</ asp : ListItem > 

</ asp : BulletedList > 

IV.- Các control trong ASP.NET

Page 94: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 94/316

94

4.- Các server control mẫu 

1. Login2. ChangePassword3. PasswordRecovery4. Học viên làm bài thu hoạch về các chức 

năng,  thuộc tính, sự  kiện,  phương  thức và cách thức  sử  dụng 2 control

ChangePassword và PasswordRecovery

IV.- Các control trong ASP.NET

Page 95: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 95/316

95

4.- Các server control mẫu - Login

1. Là một Custom control được cung cấp sẵn 

2. Khi thêm vào trang, control Login có

dạng 

IV.- Các control trong ASP.NET

Page 96: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 96/316

96

4.- Các server control mẫu  – Login (tt)

1. Thuộc tính: Thay đổi giao diện cho nút login:

LoginButtonText, LoginButtonType,LoginButtonImageUrl và LoginButtonStyle

Tiêu đề: TitleText, InstructionText UserName: UserNameLabelText,

UserNameRequiredErrorMessage Password: PasswordLabelText,PasswordRequiredErrorMessage

IV.- Các control trong ASP.NET

Page 97: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 97/316

97

4.- Các server control mẫu  – Login (tt)

1. Thuộc tính: Tạo  mới user: CreateUserIconUrl,

CreateUserText, CreateUserUrl Quên mật  khẩu: PasswordRecoveryIconUrl,

PasswordRecoveryText, PasswordRecoveryUrl TextLayout: chỉ định vị trí của Label và TextBox

Orientation: hướng đặt các control FailureText: chuỗi thông báo login không thành

công

Các control trong ASP.NET

Page 98: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 98/316

98

Server control mẫu - Login

1. Sự kiện: Authenticate: user click nút Login

Protected Sub Login1_Authenticate(ByVal sender As Object, ByVale As System.Web.UI.WebControls.AuthenticateEventArgs) HandlesLogin1.Authenticate

Select Case Login1.UserName Case "admin" If (Login1.Password = "admin") Then e.Authenticated = True End If Case "user"

If (Login1.Password = "user") Then e.Authenticated = True End If End Select End Sub

Load: khi control được nạp vào trang

IV.- Các control trong ASP.NET

Page 99: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 99/316

99

4.- Các server control mẫu  – Login (tt)

1. Tạo mới Web Form tên LoginCtl.aspx2. Bổ sung control Login

 Điều chỉnh Auto Format theo ý thích InstructionText=Đăng nhập hệ thống  FailureText=Thông tin đăng nhập sai LoginButtonText=Đăng nhập  UserNameLabelText=Tên người dùng UserNameRequiredErrorMessage=Phải nhập tên người dùng PasswordLabelText=Mật khẩu  PasswordRequiredErrorMessage=Phải nhập mật khẩu 

PasswordRecoveryText=“Quên mật khẩu”  PasswordRecoveryUrl=“ForgotPwd.aspx”  CreateUserText=“Đăng ký”  CreateUserUrl=“SignIn.aspx”  DestinationPageUrl=“Default.aspx”  DisplayRememberMe=False

IV.- Các control trong ASP.NET

L i ( )

Page 100: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 100/316

100

4.- Các server control mẫu  – Login (tt)

1. Viết  lệnh cho sự  kiện Authenticate như slide 98

2. Trang web thực thi như sau

IV.- Các control trong ASP.NET

5 Các server control kiểm tra

Page 101: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 101/316

101

5.- Các server control kiểm tra 

1. RequiredFieldValidator2. CompareValidator3. RangeValidator4. Học viên làm bài thu hoạch về các chức 

năng,  thuộc tính, sự  kiện,  phương  thức và cách thức  sử  dụng 2 control

CompareValidator và RangeValidator

IV.- Các control trong ASP.NET

ể R i dFi ldV lid

Page 102: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 102/316

102

5.- Các server control kiểm tra - RequiredFieldValidator

1. Dùng liên kết với 1 control bắt buộc user phải nhập dữ liệu vào2. Thuộc tính:

ErrorMessage: chuỗi  hiển  thị khi user không nhập 

dữ liệu  ControlToValidate: chỉ định control sẽ được kiểm tradữ liệu nhập 

Text: tương  tự ErrorMessage như có định  dạng màu, font

EnableClientScript: cho phép xuất  hiện  cửa  sổ thông báo

IV.- Các control trong ASP.NET

5 Cá t l kiể t RequiredFieldValidator (tt)

Page 103: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 103/316

103

5.- Các server control kiểm tra  – RequiredFieldValidator (tt)

1. Tạo trang SignInnhư sau

2. Bổ sung 3

RequiredFieldValidatortương  ứng  với 3 TextBoxtên người dùng, mật  khẩu và gõ lại mật khẩu 

IV.- Các control trong ASP.NET

5 Các server control kiểm tra RequiredFieldValidator (tt)

Page 104: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 104/316

104

5.- Các server control kiểm tra  – RequiredFieldValidator (tt)

Các control trong ASP.NET

Page 105: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 105/316

105

Bài tập 

1. Xây dựng  hệ  thống trình đơn  như sautrong trang default.aspx Trang chủ Default.aspx

Control đặc biệt FileUpload.aspx Mẫu và kiểm tra Login.aspx

Mẫu Login.aspx

Kiểm tra Required.aspx

NỘI DUNG (tt)

Page 106: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 106/316

106

NỘI DUNG (tt) 

I. Web tĩnh và động II. Giới thiệu về ASP.NETIII. IIS (Internet Information Services)IV. Các control trong ASP.NETV. Các đối  tượng trong ASP.NET 

VI. ASP.NET & ADO.NETVII. Xây dựng ứng dụng bán sách qua mạng 

V - CÁC ĐỐI TƯỢNG TRONG ASP NET

Page 107: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 107/316

107

V.- CÁC ĐỐI TƯỢNG TRONG ASP.NET 

1. Response2. Request3. Server4. Application5. Session

6. HttpCookie

V.- Các đối tượng trong ASP.NET 

1 Response

Page 108: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 108/316

108

1.-Response

1. Dùng chuyển giao dữ  liệu  từ server về client thông qua giao thức HTTP

2. Thuộc lớp HttpResponse, bao gồm nhiều 

thuộc tính và phương thức 3. Trong trang ASP.NET, Response được 

xem như là một thuộc tính của trang

V.- Các đối tượng trong ASP.NET 

1 R Ph ơng thức

Page 109: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 109/316

109

1.-Response – Phương thức 

1. Redirect(URL): chuyển  tiếp  từ trang hiện hành sang trang có địa chỉ URL

Response.Redirect(“~/login.aspx”) 

2. Write(chuỗi ): ghi chuỗi ra luồng kết xuất HTTP. Chuỗi  sẽ  xuất  hiện trong trangphản hồi về client

Response.Write(“Hello ASP.NET”) 

V.- Các đối tượng trong ASP.NET 

1 R Phương thức (tt)

Page 110: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 110/316

110

1.-Response – Phương thức (tt) 

3. Flush : chuyển giao về client ngay lập tức các dữ liệu trong bộ nhớ đệm 

4. End : giống Flush nhưng  sẽ  ngưng thi

hành tất cả công việc còn lại Response.Write(“Dòng 1”) Response.End()

Response.Write(“Dòng 2 ”)  Khi kết  xuất  về client, trang web chỉ  xuất 

hiện dòng chữ Dòng 1 

V.- Các đối tượng trong ASP.NET 

1 R Phương thức (tt)

Page 111: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 111/316

111

1.-Response – Phương thức (tt) 

5. SetCookie(HttpCookie ): cập  nhật  đối tượng Cookie đang  tồn  tại trong tập  đối tượng HttpCookie

6. AppendCookie(HttpCookie ): bổ sung đối tượng Cookie vào tập  đối  tượng HttpCookie

V.- Các đối tượng trong ASP.NET 

1 Response Thuộc tnh

Page 112: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 112/316

112

1.-Response – Thuộc tnh 

1. ContentType : chỉ định kiểu dữ liệu trả về cho client

Response.ContentType = “image/jpeg”  

2. Charset : thiết lập hoặc lấy về thông tin về bộ mã ký tự trong trang web

Response.ContentType = “text/html”  

Response.Charset = “utf -8 ”  

V.- Các đối tượng trong ASP.NET 2 Req est

Page 113: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 113/316

113

2.- Request

1. Cho phép lấy  dữ  liệu  từ client về server khi client submit bằng phương thức post/get Post / Get ?

2.  Đối tượng này có 4 thuộc tính là 4 đối tượng collection chính:

Form (POST) QueryString (GET) Cookies ServerVariables

V.- Các đối tượng trong ASP.NET 2 Request Form

Page 114: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 114/316

114

2.- Request - Form

1. Thuộc tính AllKeys: chứa  tất  cả cáckhóa dữ liệu được submit lên server

For each key in Request.Form.AllKeys 

Thực  hiện  xử lý key Next 

2. Phương  thức GetKey(i): lấy  về khóadữ liệu thứ i

For i=0 to Resquest.Form.Count - 1Key = Request.Form.GetKey(i)

Next 

V.- Các đối tượng trong ASP.NET 2 Request Form (tt)

Page 115: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 115/316

115

2.- Request  – Form (tt)

3. GetKey(Name ): lấy về khóa dữ  liệu có tên làName

strPassword = Request.Form.Get(“txtPwd”) 

strPassword = Request(“txtPwd”) 

4. Tuy nhiên, trong ứng  dụng,  nếu ta sử  dụng chủ yếu là các control của ASP.NET thì: Ít sử dụng đến phương thức Get

Nên sử dụng <tên control>.<tên thuộc tính>5. Chỉ  sử  dụng Request.Form nếu ta chỉ  định 

trang hiện hành sẽ submit đến 1 trang khác

V.- Các đối tượng trong ASP.NET 2 Request Form (tt)

Page 116: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 116/316

116

2.- Request  – Form (tt)

6. Xây dựng trang web có giao diện như sau txtUser

txtPwd

txtRetypePwd

cboDay, cboMonth,cboYear

chkEmail

txtNote

btnOK

V.- Các đối tượng trong ASP.NET 2 Request Form (tt)

Page 117: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 117/316

117

2.- Request  – Form (tt)

7. Hai TextBox txtPwd và txtRetypePwd cóTextMode = Password

8. txtNote có TextMode = MultiLine

9. Chận  sự  kiện  Page_Load   để  viết  lệnh điền  dữ  liệu vào 3 DropDownList  ngày,tháng, năm như ví dụ trong slide 78

10. Xây dựng 2 phương  thức  GetDate  vàCheckDate  như trong slide 79

V.- Các đối tượng trong ASP.NET 2 Request Form (tt)

Page 118: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 118/316

118

2.- Request  – Form (tt)

11. Chận sự kiện click của btnOK:Dim ok As Boolean = TrueDim str As String = ""If (txtUser.Text = "") Then

Response.Write("Bạn  phải  nhập trên

truy cập<BR>")ok = False

End IfIf (txtPwd.Text = "") Then

Response.Write("Bạn phải nhập mật 

khẩu<BR>")ok = False

End If

If (txtPwd.Text <> txtRetypePwd.Text)Then

Response.Write("Mật  khẩu gõ lại không đúng<BR>")

ok = FalseEnd IfIf (CheckDate() = False) Then

Response.Write("Ngày sinhsai<BR>")

ok = FalseEnd If

V.- Các đối tượng trong ASP.NET 2 Request Form (tt)

Page 119: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 119/316

119

2.- Request  – Form (tt)

12. Chận sự kiện click của btnOK: (tt)If (ok) Then

MsgBox("Tài khoản  được  tạo thành công",MsgBoxStyle.Information Or MsgBoxStyle.OkOnly)

Response.Write("Bạn đã đăng ký thành công<BR>")Response.Write("Tên đăng  nhập: " + txtUser.Text + 

"<BR>")Response.Write("Password : " + txtPwd.Text +

"<BR>")Response.Write("Ngày sinh : " + GetDate() + "<BR>")If (chkEmail.Checked) Then

Response.Write("Có nhận email từ ban quản  trị website<BR>")

ElseResponse.Write("Không nhận email từ ban quản trị 

website<BR>")

End If

Response.Write("Ghichú : " + txtNote.Text+ "<BR>")

Response.Write("<a

href=""login.aspx"">Nhấn vào đây  để  đăng nhập</a>")Dim ctl As ControlFor Each ctl In

form1.Controlsctl.Visible = FalseNextEnd If

V.- Các đối tượng trong ASP.NET 2 Request – Form (tt)

Page 120: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 120/316

120

2.- Request  – Form (tt)

13. Ví dụ trên sử dụng cơ chế submit trên cùng1 trang14. Nếu ta muốn submit dữ  liệu signin sang 1

trang khác thì lúc này ta sẽ  sử  dụng 

Request.Form15.  Để minh họa điều này, ta chỉnh sửa  thuộc 

tính PostBackURL của btnOK trong trangsignin.aspx thành “~/createuser .aspx” 

16. Trang createuser.aspx được  tạo  mới vàchận bắt duy nhất 1 sự kiện PageLoad như sau:

V.- Các đối tượng trong ASP.NET 2 - Request – Form (tt)

Page 121: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 121/316

121

2.- Request  – Form (tt)

17. Sự kiện Page_Load của createuser.aspxDim user, pwd, retype, ngsinh, thsinh, nmsinh, email, gc As String 

Dim ok As Boolean = True 

Dim d As DateTime 

user = Request("txtUser")

pwd = Request("txtPwd")

retype = Request("txtRetypePwd")

ngsinh = Request("cboNgay")

thsinh = Request("cboThang")

nmsinh = Request("cboNam")

email = Request("chkEmail")

gc = Request("txtNote")

V.- Các đối tượng trong ASP.NET 2 - Request – Form (tt)

Page 122: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 122/316

122

2.- Request  – Form (tt)18. Sự kiện Page_Load của createuser.aspx (tt)

If (user = "") ThenResponse.Write("Bạn phải nhập trên truy cập<BR>") ok = False

End IfIf (pwd = "") Then

Response.Write("Bạn phải nhập mật khẩu<BR>") ok = False

End IfIf (pwd <> retype) Then

Response.Write("Mật khẩu gõ lại không đúng<BR>") 

ok = FalseEnd IfIf (DateTime.TryParse(ngsinh + "/" + thsinh + "/" + nmsinh, d) = False) Then

Response.Write("Ngày sinh sai<BR>")ok = False

End If

V.- Các đối tượng trong ASP.NET 2.- Request  – Form (tt)

Page 123: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 123/316

123

q ( )

19. Sự kiện Page_Load của createuser.aspx (tt)If (ok) ThenResponse.Write("Bạn đã đăng ký thành công<BR>")Response.Write("Tên đăng nhập: " + user + "<BR>")Response.Write("Password : " + pwd + "<BR>")

Response.Write("Ngày sinh : " + ngsinh + "/" + thsinh + "/" + nmsinh + "<BR>")If (email = "on") Then

Response.Write("Có nhận email từ ban quản trị website<BR>")Else

Response.Write("Không nhận email từ ban quản trị website<BR>")

End IfResponse.Write("Ghi chú : " + gc + "<BR>")Response.Write("<a href=""login.aspx"">Nhấn vào đây để đăng nhập</a>") 

ElseResponse.Write("<a href=""signin.aspx"">Nhấn vào đây để đăng ký lại</a>") 

End If

V.- Các đối tượng trong ASP.NET 2.- Request - ServerVariable

Page 124: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 124/316

124

q

1. Cung cấp danh sách các tham số vàcác thiết  lập của web server cũng như của website

2. Tương  tự  như Form, ServerVariablecũng cung cấp các thuộc tính vàphương  thức  như: AllKeys , Count ,

GetKey và Get 3. Thông tin chi tiết có thể tìm trong

MSDN

V.- Các đối tượng trong ASP.NET 2.- Request  – Cookies

Page 125: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 125/316

125

q

1. Cung cấp  nhiều  thuộc tính và phương thức cho phép lấy các cặp (tên cookie,giá trị) từ client

2. Tương tự 3 đối tượng trước đó, Cookiescũng cung cấp các thuộc tính và phương thức như: AllKeys , Count , GetKey và Get 

3. Tuy nhiên, việc truy xuất Cookie thường được thực hiện theo cách đơn  lẻ, cụ thể và ngắn gọn như sau:

V.- Các đối tượng trong ASP.NET 2.- Request  – Cookies (tt)

Page 126: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 126/316

126

( )

Truy xuất đến 1 cookie cụ thể:HttpCookie cookieUser = 

Request.Cookies(“UserName”) 

If (cookieUser <> nothing)

Dim strVal as String = Convert.ToString(cookie.Value)

„Xử lý với value 

End If 

V.- Các đối tượng trong ASP.NET 3.- Server

Page 127: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 127/316

127

1.  Đối  tượng Server thuộc  lớp HttpServerUtility  cung cấp  nhiều  thuộc tính và phương  thức phục vụ cho nhiều 

mục tiêu khác nhau2. Thuộc tính MachineName  cho biết tên

web server

3. Thuộc tính ScriptTimeout  dùng để gánhay lấy thời gian tối đa cho phép thực thiphần  xử lý kết  quả  trả  về client trên

serverV.- Các đối tượng trong ASP.NET 

3 - Server – Phương thức

Page 128: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 128/316

128

3. Server   Phương thức 

1. MapPath(path ): trả  về  đường  dẫn  tuyệt  đối trên web server ứng  với  đường  dẫn  tương đối path

WebSitePath = Server.MapPath(“ .”) 

dbPath = WebSitePath & “ \data\qlbh.mdb”  

2. Execute(page ): cho phép gọi thi hành cáclệnh khai báo trong trang page. Sau đó,  trả 

quyền điều khiển về  lệnh kế  tiếp trong tranghiện hành

Server.Execute(“doSomething .aspx”) 

V.- Các đối tượng trong ASP.NET 3.- Server – Phương thức (tt) 

Page 129: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 129/316

129

3. Transfer(page ): cho phép chuyển  xử lýsang các lệnh khai báo trong trang pagevà không trở về trang hiện hành

4. HtmlEncode : mã hóa một  chuỗi  định dạng HTML và trình bày trên trình duyệt  Thường dùng để trình bày các dữ  liệu có

dạng là ngôn ngữ HTML

V.- Các đối tượng trong ASP.NET 4.- Application

Page 130: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 130/316

130

4. Application

1. Cho phép lưu và truy cập thông tintrong phạm vi toàn ứng dụng 2. Những thông tin này (biến)  sẽ  bị  mất 

đi khi ứng dụng khởi động lại 3. Khi làm việc  với Application, cần  kết hợp  với các khai báo trongGlobal.asax

4. Cú pháp: Application(“name”) = value 

value =  Application(“name”) 

V.- Các đối tượng trong ASP.NET 4.- Application – Phương thức 

Page 131: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 131/316

131

1.  Đối  tượng Application cũng cung cấp các thuộc tính và phương  thức:AllKeys , Keys , Count , Get   được  sử 

dụng  tương  tự  như các đối  tượng khác2. Lock / Unlock : do các biến Application

có thể  được truy cập  đồng  thời  từ nhiều trang, nên ta có thể  khóa/mở khóa ghi dữ  liệu  bằng  phương  thức Lock/Unlock 

V.- Các đối tượng trong ASP.NET 4.- Application – Session

Page 132: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 132/316

132

1.  Đối  tượng Session gắn  liền  với khái niệm phiên làm việc  Phiên làm việc của 1 user bắt đầu  từ yêu cầu đầu 

tiên của user này cho đến khi hết thời gian quy định 

hoặc khi user đóng trang web cuối cùng trong cáctrang yêu cầu từ website

2. Dùng để  lưu và truy xuất các biến trong phạm vi 1 phiên làm việc  Thường dùng để  lưu  trữ và xác định các thông tin

cá nhân của từng user

V.- Các đối tượng trong ASP.NET 4.- Application – Session (tt)

Page 133: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 133/316

133

3. Ngoài các thuộc tính và phương  thức tương  tự  với  đối  tượng Application, đối tượng Session cung cấp  một  số  thuộc 

tính và phương thức khác như sau:4. Thuộc tính IsNewSession: cho biết yêu

cầu trang hiện hành có phải  thuộc 1

phiên làm việc mới hay không

V.- Các đối tượng trong ASP.NET 4.- Application – Session (tt)

Page 134: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 134/316

134

1. Ph/thức Add : cho phép thêm biến cùng với giátrị của nó ứng với phiên làm việc hiện hành

Session.Add(“UserID”, txtUser.Text) 

2. Ph/thức  Abandon/RemoveAll : hủy  tất  cả cácbiến trong phiên làm việc hiện hành3. Ph/thức  Remove (“name”)/RemoveAt(i ): xóa

biến có tên name hoặc  tại vị trí i trong phiên

làm việc hiện hành4.  Đối  tượng Session có thể  lưu  trữ các biến 

dạng  ArrayList , DataTable , DataRow , Array ,… 

V.- Các đối tượng trong ASP.NET 4.- Application – HttpCookie

Page 135: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 135/316

135

1. Khác với Session hoạt  động trên server,HttpCookie cho phép lưu  trữ và truy xuất các thông tin trên client

2. Cookie là tập thông tin được  lưu  trữ trên

máy tính của user khi họ truy cập  đến website3. Có 2 loại cookie:

Temporary: thông tin mất đi khi user rời website Persistent: thôgn tin lưu trữ bền vững trên máy

tính của user, server có thể đọc lại những thôngtin này vào lần truy cập website kế tiếp của user

V.- Các đối tượng trong ASP.NET 4.- Application – HttpCookie (tt)

Page 136: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 136/316

136

pp p ( )

4.  Để đọc/ghi thông tin vào Cookie, ta sử dụng  đối  tượng HttpCookie, cho phéplấy  hoặc gán giá trị  thuộc tính của Cookie

5. Khai báo một cookie dạng đơn cookie = new HttpCookie(name, value)

6. Khai báo một cookie dạng phức lưu trữ nhiều cặp khóa và giá trị:

cookie = new HttpCookie(name)

Cookie.Values.Add(name1, value1)

Cookie Values Add(name2 value2)

V.- Các đối tượng trong ASP.NET 4.- Application – HttpCookie (tt)

Page 137: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 137/316

137

pp p ( )

7.  Để ghi cookie xuống máy tính client, sử dụng ph/thức Add của  thuộc tính Cookies trong đối tượng Response

Response.Cookies.Add(cookie)

8.  Để  đọc cookie từ máy tính client, sử  dụng thuộc tính Cookies trong đối tượng Request

cookie = Request.Cookies(“name”) 

val = cookie.Values(“name”) val1 = cookie.Values(“name1”) 

Các đối tượng trong ASP.NET Bài tập

Page 138: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 138/316

138

Bài tập 

1. Trình bày chức  năng, cách thức  sử  dụng cácthuộc tnh/phương thức của các đối tượng sau: Response: Redirect, Write, Set/Add cookie Request: QueryString, Form, Cookie Application/Session: thêm/xóa/sửa biến  HttpCookies

2. Từ website slide 105, bổ sung các yêu cầu:

User chỉ  được truy cập trang FileUpload nếu  đã đăng nhập website  Điều chỉnh trang login.aspx cho phép ghi nhớ user.

3. Trình bày chi tiết các bước thực hiện bài tập 2.

Các đối tượng trong ASP.NET Bài tập 

Page 139: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 139/316

139

ậpDefault.aspx

Load Khai báo biến cookielấy giá trị userid. Nếucó cập nhậtSession(“userid”) 

FileUpload.aspx

Load Lấy Session(“userid”).Nếu không có redirect lấyLogin.aspx

Login.aspx

cmdLogin_Click Nếu user và pwd hợp lệ 

Nếu chọn Remember  Tạo và lưu trữ cookie(“userid”) Cập nhật Session(“userid”) 

NỘI DUNG (tt) 

Page 140: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 140/316

140

I. Web tĩnh và động II. Giới thiệu về ASP.NETIII. IIS (Internet Information Services)

IV. Các control trong ASP.NETV. Các đối tượng trong ASP.NETVI. ASP.NET & ADO.NET 

VII. Xây dựng  ứng  dụng bán sách quamạng 

VI.- ASP.NET & ADO.NET

Page 141: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 141/316

141

1. Các công nghệ truy xuất dữ liệu 2. Các đối tượng của ADO.NET3. Các đối tượng lưu trữ và xử lý dữ liệu 4. SqlDataSource & AccessDataSource5. Các control trình bày dữ liệu 

GridView DetailsView & FormView DataList & Repeater User control & MasterPage

VI.- ASP.NET & ADO.NET

1.-Các công nghệ truy xuất dữ liệu 

Page 142: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 142/316

142

APPLICATION

ODBC

SQL Native Oracle Native Native Library

SQL Server Oracle Fox / Access

Kiến trúc ODBC. 

VI.- ASP.NET & ADO.NET

1.-Các công nghệ truy xuất dữ liệu (tt)

Page 143: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 143/316

143

APPLICATION

OLEDB

SQL Native Oracle Native Native Library

SQL Server Oracle Fox / Access

Kiến trúc OLEDB. 

ODBC

VI.- ASP.NET & ADO.NET

1.-Các công nghệ truy xuất dữ liệu (tt)

Page 144: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 144/316

144

ADO.NET Provider

APPLICATION .NET

OLEDB

SQL Native Oracle Native Native Library

SQL Server Oracle Fox / Access

Kiến trúc ADO.NET. 

ODBC

SQL/Oracle Provider OLEDB Provider ODBC Provider

VI.- ASP.NET & ADO.NET

1.-Các công nghệ truy xuất dữ liệu (tt)

Page 145: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 145/316

145

1.

Active Data Object .NET2. ADO.NET có thể kết nối và thao tác trên các hệquản trị CSDL như SQL server, MySQL, MSAccess, Oracle, . . .

3. Tối ưu cho các ứng dụng Internet và phân tán4. ADO.NET  được thiết kế nhằm tăng tốc độ truy 

cập và thao tác dữ liệu trong môi trường đa lớp.5. Hai thành phần chnh của ADO.NET là:

Thành phần kết nối (.NET Framework Data Providers) Thành phần lưu trữ và xử lý

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET 

Page 146: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 146/316

146

1. .NET Framework Data Providers Connection Command

DataReader DataAdapter

2. Container – DataSet

DataTable = {DataRow, DataColumn,Constraint} DataView DataRelation

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) 

Page 147: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 147/316

147

Database

.NET framework Data Provider

Data Reader

Data Adapter 

Command

Parameters

Connection

SelectCommand

InsertCommand

Transaction

UpdateCommand

DeleteCommand

Dataset

DataRelationCollection

DataTableCollection

DataTable

DataRowCollection

DataColumnCollection

ConstraintCollection

XML

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) 

Page 148: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 148/316

148

3. ADO.NET chỉ cung cấp  một  đặc  tả giao tiếp cho cácđối  tượng  như Connection, Command, DataReader,DataAdapter

4. Các hệ  quản  trị CSDL sẽ  được xây dựng riêng cáctrình điều khiển gọi là Provider

SQL Server .NET Data OLE DB .NET Data

System.Data.SqlClient System.Data.OleDb

SqlCommand

SqlConnection

SqlDataAdapter

SqlDataReader

SqlParameter

OleDbCommand

OleDbConnection

OleDbDataAdapter

OleDbDataReader

OleDbParameter

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) 

Page 149: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 149/316

149

SQLServer

Access

ADO.NET

.NET Framework Data Provider

SQLConnection

SQLCommand

SQLDataAdapter

OleDBConnection

OleDBCommand

OleDBDataAdapter

DataSet

DataTableCollection

ProductsOrder

DataRelationCollection

Imports System.Data.SqlClient

Imports System.Data.OleDb

Imports System.Data

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) - Connection

Page 150: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 150/316

150

Phương th c

SqlConnection OleDbConnection

Open() Cho phep m kế t nô i CSDL với các thuc t nh khai báotrong ConnectionString

Close() Cho phep đong kế t nô i CSDL đang m 

CreateCommand() Phương th c ny cho phep gán hay trả v mt đô i tưngSqlCommand / OleDbCommand  ng với đô i tưngSqlConnection/ OleDbConnection

BeginTransaction()

Phương th c ny khai báo băt đầu 1 chuy n tác, đ kế t thc chuy n tác bạn sử dng Table Commit

Rollback() Trong trường hp co lỗi phát sinh bạn co th sử dngphương th c Rollback đ hy b các chuy n tác đ đưc th c hin

Dispose() Dng đ giải phong ti nguyên m đô i tưngSqlConnection đang sử dng

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Connection (tt)

Page 151: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 151/316

151

1. ConnectionString: chuỗi chỉ định kết nối 2. Mỗi Provider có riêng một định dạng chuỗi kết nối 3. SQLConnection:

“DataSource=(local);Initial Catalog=qlsv;user=sa;pwd=sa”  

4. OleDBConnection:“Provider=SQLOLEDB;Data Source=(local);Initial Catalog=qlsv;Integrated Security=False;User ID=sa;Password=sa”  

“Provider=SQLOLEDB;Data Source=(local);Initial Catalog=qlsv;Integrated Security=True;User ID=sa;Password=sa”  

“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\qlsv.mdb;User ID=Admin;Password=”  

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Connection (tt)

Page 152: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 152/316

152

5. Kết nối CSDL với SQLConnectionDim connStr as String =  “server=(local);Init Catalog=qlsv;Integrated 

Security=False;User ID=sa;pwd=sa; ”  

Dim dbConn As New System.Data.SqlClient.SqlConnection(connStr)

6. Kết nối CSDL với OleDbConnectionDim connStr as String =  “Provider=SQLOLEDB;Data Source=(local);Init 

Catalog=qlsv;User ID=sa;pwd=sa; ”  

Dim dbConn As New System.Data.OleDb.OleDbConnection(connStr)

7. Thực hiện kết nối dbConn.Open() „  Mở  kết  nối  

„… Các lệnh truy  xuất và  xử lý CSDL

dbConn.Close() „  Đóng  kết  nối  

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command

Page 153: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 153/316

153

8.  Đối  tượng Command cho phép thi hành các câu lệnh truy vấn SQL, gọi thủ tục nội của SQL Server, . . .

Thuộc tính  Mô tả 

Connection Mỗi  đối  tượng SqlCommand được  sử  dụng phải kèm theo đối tượng SqlConnection

CommandText Tên bảng,  lệnh Sql hoặc tên Storeproceduremuốn thực hiện trên nguồn dữ liệu 

CommandType Tương  ứng  với giá trị CommandText. Gồm 

Text, TableDirect, StoredProcedureCommandTimeout Khai báo thời gian chờ cho câu lệnh thực hiện 

(thời gian thực hiện mặc định là 30 giây)

Parameters Tập hợp các tham số dùng trong Command

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 154: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 154/316

154

Phương thức  Mô tả ExcuteNonQuery() Phương thức dùng để gọi thực thi các câu lệnh SQL,thủ tục nội tại của Sql Server, tên bảng dữ liệu.Kết  quả  trả  về là số  mẫu tin chịu tác động  của Command

ExcuteReader() Phương  thức này trả về một đối  tượng DataReaderchỉ đọc một chiều. DataReader đọc dữ  liệu trực tiếp từ nguồn dữ liệu nên phải duy trì kết nối cho đến khiđọc xong.

ExcuteScalar() Phương  thức này thực hiện  lệnh của Command vàtrả  về giá trị  của  cột  đầu tiên và dòng đầu tiên.Phương  thức này thường  được  sử  dụng khi muốn Command thực  hiện các hàm tính thống kê như :SUM, COUNT, AVG, MAX, MIN… trên nguồn dữ liệu 

ngay lúc thực thi

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 155: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 155/316

155

9. Truy xuất dữ liệu Dim sql As String = “SELECT * FROM SINHVIEN ”  Dim sql As String = “vMonHoc”  

Dim sql As String = “sp_KetQuaSV”  

Dim sql As String = “INSERT INTO KETQUA VALUES(„A01‟,‟K 1‟,9  )”  

10. Truy xuất CSDL với SqlCommandDim dbCmd As New SqlCommand(sql, dbConn)

11. Truy xuất CSDL với OleDbCommandDim dbCmd As New OleDbCommand(sql, dbConn)

12. Thực hiện dbCmd.CommandType = CommandType.XXX 

dbCmd.ExecuteReader() / ExecuteNoneQuery()

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 156: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 156/316

156

13. Thực hiện và nhận kết quả vô hướng  Gọi Stored Procedure - OleDbCommand

Dim dbCmd As New OleDbCommand(“select count(*) from MonHoc”, dbConn)

dbCmd.CommandType = CommandType.Text Dim SLMonHoc As Integer = dbCmd.ExecuteScalar()

Gọi Stored Procedure – SqlCommandDim dbCmd As New  SqlCommand(“select  count(*) from  MonHoc”, 

dbConn)

dbCmd.CommandType = CommandType.Text 

Dim SLMonHoc As Integer = dbCmd.ExecuteScalar()

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 157: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 157/316

157

14. Parameter dùng để  truyền tham số cho chuỗi lệnh Sql trong thuộc tính CommandText có sử dụng dấu ? thay thế cho các giá trị chưa xác

định, hay thủ  tục nội của Sql có thể cần phải truyền các tham số đầu vào/ đầu ra.

15. Cơ  chế Parameter giúp cho việc  truyền  tải thông tin giữa ứng dụng và server mang tínhbảo  mật và an toàn hơn cách thức  nối  chuỗi SQL thông thường 

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 158: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 158/316

158

Thuộc tính củaParameters

Mô tả 

Direction Giá trị cho biết loại tham số với các giá trị sau:+ Input (mặc định): loại tham số đầu vào+Output: loại tham số đầu ra

+InputOutput: loại tham số vào/ra+ReturnValue: loại tham số nhận giá trị trả về của một thủ tục nội, một hàm, hàm do người dùng định nghĩa.

OleDbType

SqlDbType

Kiểu dữ liệu OleDb hoặc SqlDb của tham số (đọc ghi)

ParameterName Tên tham số (đọc ghi)

Value Giá trị của tham số (đọc ghi)

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 159: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 159/316

159

16.  Để  đưa tham số cho Command, chúng ta cóthể sửa dụng một trong các cách sau: Dùng phương  thức  CreateParameter   của 

Command và Add  của tập hợp Parameters   Đưa tham số vào tập hợp Parameters 

Tạo tham số và đưa vào tập  hợp Parameters 

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 160: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 160/316

160

17. Stored Procedure có tham số Create Procedure sp_KetQuaSV 

@masv as nvarchar(10)

As Begin 

Select MaSV, HoSV, TenSV, TenMH, Diem 

From SinhVien sv, KetQua kq, KhoaHoc k, MonHoc mh Where sv.MaSV=@masv AND sv.MaSV=kq.MaSV AND 

kq.MaKH=k.MaKH AND k.MaMH=mh.MaMH 

End 

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – Command (tt)

Page 161: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 161/316

161

18. Gọi Stored Procedure - OleDbCommandDim dbCmd As New OleDbCommand(“sp_KetQuaSV”, dbConn)dbCmd.CommandType = CommandType.StoredProcedure dbCmd.Parameters.Add("@masv", OleDbType.VarWChar).Value = 

"A01" 

dbCmd.ExecuteNonQuery()19. Gọi Stored Procedure – SqlCommand

Dim dbCmd As New SqlCommand(“sp_KetQuaSV”, dbConn)dbCmd.CommandType = CommandType.StoredProcedure dbCmd.Parameters.Add("@masv", SqlType.NVarChar).Value = "A01" 

dbCmd.ExecuteNonQuery()

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – DataAdapter

Page 162: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 162/316

162

1. Dùng luân chuyển và trao đổi dữ liệu, xử lý logic một cách hiệu  quả  giữa  ứng dụng và CSDL

2. Mỗi  đối  tượng Command là một  lệnh tách rời. DataAdapter cung cấp cùng lúc4 đối  tượng Command: Select, Insert,

Update, Delete.3. DataAdapter không lưu  trữ  dữ  liệu mà

chỉ đóng vai trò cầu nối giữa Connection

à D t T bl (D t S t)VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt)  – DataAdapter (tt)

Page 163: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 163/316

163

4. Khai báo sử dụng: Dim adap As New SqlDataAdapter(dbCmd)

Dim adap As New OleDbDataAdapter(dbCmd)

5. Lưu ý: dbCmd là đối  tượng SqlCommand hoặc OleDbCommandtương  ứng,  đã  được  tạo ra với 

SqlConnection hoặc OleDbConnectiontương  ứng và Connection này phải  đã được mở (Open).

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 164: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 164/316

164

6. Fill   –  Đọc và lưu trữ dữ liệu  DataAdapter  cung cấp 4 đối  tuợng 

Command trong đó  phương  thức Fill

tương ứng với việc gọi SELECT Command Lệnh khai báo đối  tượng ở slide trước chỉ 

nên dùng cho các đối  tượng Commandthực hiện lệnh SELECT

Khi tạo  DataAdapter  có sử  dụng  cả 4Command, chúng ta nên tạo riêng từng Command này.

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 165: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 165/316

165

7. SELECT Command (đổi Sql thành OleDb để  sử dụng OLEDB)

Dim adap As New SqlDataAdapter 

adap.SelectCommand = New  SqlCommand(“SELECT  * FROM MonHoc”, dbConn)

Dim tbl As New DataTable 

adap.Fill(tbl) 

„ Các lệnh  xử lý khác 

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 166: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 166/316

166

8. Update – Cập nhật dữ liệu  Phương thức Update hoạt động dựa trên 3

Command còn lại (Insert, Update, Delete) Khi trình bày dữ  liệu trên Form thông qua

các control, phương  thức Update sẽ  tự động  cập  nhật  tất  cả thay đổi lên CSDL

thông qua 3 Command này Trước khi sử  dụng,  phải xây dựng  tường 

minh 3 Command này

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 167: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 167/316

167

9.  Đổi Sql thành OleDb để sử dụng OLEDB INSERT Command… 

adap.InsertCommand = New  SqlCommand(“INSERT  INTO MonHoc 

VALUES (@mamh, @tenmh, @sotc)”, dbConn)

adap.InsertCommand.Parameters. Add(“@mamh”).SourceColumn=“MaMH ”  

adap.InsertCommand.Parameters. Add(“@tenmh”).SourceColumn=“TenM H”  

adap.InsertCommand.Parameters. Add(“@sotc”).SourceColumn=“SoTC”  

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 168: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 168/316

168

9.  Đổi Sql thành OleDb để sử dụng OLEDB (tt) UPDATE Command… 

adap.UpdateCommand = New  SqlCommand(“UPDATE  MonHoc SET 

TenMH=@tenmh, SoTC=@sotc WHERE MaMH=@mamh”, dbConn)

adap.UpdateCommand.Parameters. Add(“@mamh”).SourceColumn= 

“MaMH”  

adap.UpdateCommand.Parameters. Add(“@tenmh”).SourceColumn= “TenMH”  

adap.UpdateCommand.Parameters. Add(“@sotc”).SourceColumn=“SoTC”  

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 169: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 169/316

169

9.  Đổi Sql thành OleDb để sử dụng OLEDB (tt) DELETE Command… adap.DeleteCommand = New SqlCommand(“DELETE MonHoc WHERE

MaMH=@mamh”, dbConn)adap.DeleteCommand.Parameters. Add(“@mamh”).SourceColumn=

“MaMH” 

10. Sau khi xây dựng đủ 4 Command, sử dụng Fill để thực hiện SELECT Command lấy dữ liệu, sử dụng Update để cập nhật 

dữ liệu  Dim tbl As New DataTable adap.Fill(tbl) „ Các lệnh thao tác khác

adap Update(tbl)

VI.- ASP.NET & ADO.NET

2.- Các đối tượng của ADO.NET (tt) – DataAdapter (tt)

Page 170: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 170/316

170

11. Sử  dụng  đối  tượng SqlCommandBuilder / OleDBCommandBuilder để xây dựng  tự động 3 Command còn lại  dựa vào SELECT

Command được cung cấp ban đầu Dim adap As New  SqlDataAdapter(“select  * from 

SinhVien”, dbConn)

Dim cmdBuilder = New OleDbCommandBuilder(adap)

Dim tbl As New DataTable 

adap.Fill(tbl) 

...

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu 

Page 171: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 171/316

171

1. DataTable2. DataSet

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu - DataTable

Page 172: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 172/316

172

1. Dùng lưu trữ và xử lý dữ liệu được lấy từ CSDLthông qua đối tượng DataAdapter2. DataTable có khả  năng  tạo  bảng  mới  với  cấu 

trúc bảng  được  tạo thông qua các đối  tượng 

DataColumn; thêm dữ  liệu mới và cập nhật dữ liệu đã có bằng DataRow3. Trong môn học này, DataTable chủ  yếu  được 

dùng để  lưu  trữ dữ  liệu phục vụ cho việc trình

bày dữ liệu trên Form4. Khai báo sử dụng Name space:

Imports System.Data 

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu – DataTable (tt)

Page 173: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 173/316

173

Thuộc tính Mô tả ChildRelations Tập  hợp  những quan hệ trong đó  bảng  đóng vai trò bảng 

cha

ParentRelations Tập  hợp  những quan hệ trong đó  bảng  đóng vai trò bảng con

TableName Tên của DataTable

Columns Tập hợp các cột trong bảng (thuộc lớp DataColumn)

Rows Tập hợp các dòng dữ liệu của bảng (thuộc lớp DataRow)

Constraints Tập hợp các ràng buộc trong bảng 

DataSet Cho biết DataSet chứa bảng 

DefaultView Cho biết DefaultView phát sinh từ bảng 

PrimaryKey Mảng các cột có chức năng làm khoá chính của bảng 

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu – DataTable (tt)

Page 174: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 174/316

174

Phương thức Mô tả GetChanges() Trả về một DataTable chứa các dòng dữ liệu bị người dùng

thay đổi 

RejectChanges() Hủy bỏ tất cả những thay đổi của người dùng trên dữ liệu 

AcceptChanges() Chấp nhận  tất cả những thay đổi của  người dùng trên dữ liệu 

Clear() Xóa toàn bộ dữ liệu trong bảng 

Copy() Tạo DataTable mới có cùng cấu trúc và dữ liệu 

Clone() Tạo DataTable mới có cùng cấu trúc nhưng không có dữ liệu 

LoadDataRow Thêm các dòng dữ liệu mới dạng mảng vào bảng 

WriteXml Ghi toàn bộ cấu trúc và dữ liệu ra file XML

ReadXml  Đọc lại toàn bộ cấu trúc và dữ liệu từ file XML

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu - DataSet

Page 175: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 175/316

175

1. ADO.NET hoạt động theo cơ chế Disconnected Tạo kết nối CSDL khi cần  Ngắt kết nối khi thực hiện xong thao tác

2. Ưu điểm  Không chiếm giữ nhiều tài nguyên Phục vụ được nhiều ứng dụng 

3. Khuyết điểm  Những thay đổi trên CSDL diễn ra tại một nơi khác sẽ không được cập nhật ngay cho người dùng

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu – DataSet (tt)

Page 176: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 176/316

176

4. DataSet có thể được xem như một CSDLthu nhỏ, do nó có thể bao gồm nhiều: DataTable (các table, view trong CSDL)

DataView DataRelation Stored Procedure

5. Khai báo sử dụng NameSpace:Imports System.Data 

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu – DataSet (tt)

Page 177: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 177/316

177

DataSet

DataTable

Columns

Rows

DataColumn

DataRow

Tables

Relations DataRelation

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu – DataSet (tt)

Page 178: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 178/316

178

Thuộc tính  Mô tả 

Relations Tập  hợp các quan hệ 

một-nhiều  giữa cácDataTable của DataSetTables Tập  hợp các bảng, view,

stored procedure của DataSet

Name Tên của DataSet

VI.- ASP.NET & ADO.NET

3.- Lưu trữ và xử lý dữ liệu – DataSet (tt)

Page 179: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 179/316

179

6. Sử dụng các phương thức Add, Removecủa hai đối tượng thuộc tính Relations vàTables để thêm, xóa DataTable hay

DataRelation vào DataSet7. Khi sử  dụng  phương  thức Fill của 

DataAdapter cho DataSet thì DataSet sẽ 

có số lượng DataTable tương ứng với số lượng câu truy vấn trong đối  tượng SELECT Command của DataAdapter

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource

Page 180: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 180/316

180

1. Các đối  tượng kết nối CSDL trên đây giúp tathực hiện tổ chức kết nối, truy vấn dữ liệu chotrang web thông qua mã lệnh 

2. ASP.NET sử dụng thêm một loại kết nối CSDL

khác gói gọn các đối  tượng Connection,DataAdapter, DataSet thành một đối tượng  SqlSataSource : dùng truy xuất CSDL SQL Server AccessDataSource : dùng truy xuất CSDL Access ObjectDataSource: XMLDataSource

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 181: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 181/316

181

3. Giúp tạo ra các kết nối CSDL một cách trực quan4. Giúp xây dựng trang web hỗ  trợ CSDL một cáchnhanh chóng, hầu  như không cần  viết thêm mãlệnh 

5. Kết hợp chặt chẽ với các control trình bày dữ  liệu trên trang web6. Cách thức  sử  dụng  giữa các DataSource là hoàn

toàn thống nhất 7.

Cung cấp Wizard giúp cấu hình chuỗi kết nối, chọn đối  tượng dữ  liệu,  lọc dữ  liệu  từ các loại tham số khác nhau: Session, Request.QueryString,Request.Form, Value, WebControl, ...

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 182: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 182/316

182

8. Khi chọn thêm control SqlDataSourcevào trang web , click vàohình mũi tên ở phía trên của control và

chọn Configure Data Source9. Nếu  sử  dụng  lại  kết  nối  dữ  liệu  trước đây, chọn từ danh sách ComboBox. Nếu tạo

 mới

 kết

 nối

CSDL,chọn

NewConnection

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 183: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 183/316

183

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 184: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 184/316

184

10.

Chọn New Connection, hộp thoại sau xuất hiện 11. Chọn CSDL cần kết nối 12.  Đối  với CSDL SQL Server có thể  chọn 

loại kết nối là OLEDB hoặc SQL

13. Chọn Continue để tiếp tục 

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 185: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 185/316

185

14.  Điền  đầy  đủ thôngtin về server name,user, password,CSDL

15. Chọn OK để  tiếp tục 

16.

Hộp  thoại  tạo SqlDataSourcexuất hiện lại 

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 186: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 186/316

186

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 187: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 187/316

187

17. Nhấn Next sẽ xuất hiện hộp thoại đặt tênvà chọn lưu trữ cho chuỗi kết nối vừa tạo 

18. Nhấn Next tiếp tục để mở hộp  thoại xây

dựng câu lệnh SQL truy vấn dữ liệu 19. Nếu chọn lấy dữ liệu từ Table or View thì

chỉ được lấy dữ liệu từ 1 table hoặc view

nhưng cho phép ta thêm, xóa, sửa  dữ liệu 

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 188: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 188/316

188

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 189: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 189/316

189

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 190: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 190/316

190

20. Chọn QueryBuilderđể  tạo 

truyvấn như slide

sau

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 191: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 191/316

191

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 192: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 192/316

192

21. Nhấn Next, Finish để hoàn tất quá trình tạo  mới SqlDataSource

22. Quay trở lại bước xây dựng câu lệnh SQL truy vấn dữ  liệu (slide 176), bây giờ ta chọn  lấy dữ  liệu  từ 

Table hay View. Chọn table là HangHoa và lấy tất cả các field trong table này23. Mặc  định, SqlDataSource chỉ sinh mã cho

SELECT, nếu  muốn  tự phát sinh lệnh INSERT,UPDATE, DELETE ta chọn Advanced và clickchọn CheckBox tương ứng 

24. Ta có thể click chọn WHERE để xây dựng  phần lọc dữ liệu như slide sau

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 193: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 193/316

193

23. Sau khichỉ  định WHERE,nhấn OK

để quaytrở lại 

24. Nhấn 

Next,Finish để hoàn tất 

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 194: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 194/316

194

25. Sau khi đã  tạo xong SqlDataSource, tacó thể bổ sung thêm các control để trìnhbày dữ liệu 

26. Nếu  muốn  chỉnh  sửa các thông tin kết nối và truy vấn  dữ  liệu,  chọn ConfigureData Source

27. Nếu  cấu trúc dữ  liệu có thay đổi,  chọn Refresh Schema

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 195: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 195/316

195

28. Bổ sung control GridView vào trang web29. Chọn Data Source là SqlDataSource1

vừa tạo 

30. Click chọn các CheckBox như slide sau

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 196: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 196/316

196

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 197: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 197/316

197

31. Chọn EditColumnsđể  điều chỉnh thông tinHeadercho các

field như sau

VI.- ASP.NET & ADO.NET

4.- SqlDataSource & AccessDataSource (tt)

Page 198: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 198/316

198

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu 

Page 199: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 199/316

199

1. GridView2. DetailsView & FormView3. DataList

4. User control5. MasterPage

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu - GridView

Page 200: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 200/316

200

1. Tương ứng với DataGrid trong ứng dụng Windows Forms2. Là control thông dụng  nhất trong ứng 

dụng Web3. Trình bày dữ  liệu theo dạng phân chia

thành từng dòng, cột tương tự table

4. Cho phép chọn record cần  xử lý, sắp xếp, cập nhật, phân trang

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 201: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 201/316

201

5. Cho phép định  dạng khung lưới theo nhiều dạng khác nhau nhằm giúp việc quan sát dữ 

liệu dễ dàng hơn 6. Click chọn nút mũi tên

phía trên bên phải 

(SmartTag) của GridView và chọn Auto Format

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 202: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 202/316

202

7. Phân trang: AllowPaging = True PagerSettings

Mode:

PageButtonCount: chỉ định số lượng liên kết trang, nếu  tổng  số trangvượt quá số  lượng này, link ... sẽ 

xuất hiện  Position:

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 203: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 203/316

203

8.  Định  dạng hiển  thị chocác dòng

(row) trongGridView9. Chỉ định chức 

năng  hoạt động trên dữ liệu 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 204: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 204/316

204

10. Các cột trong GridView có thể tùy biến thành cácdạng  BoundField (mặc định)  CheckBoxField HyperLinkField ButtonField ImageField

11. Click chọn SmartTag / Edit Columns Xóa field tự  động phát sinh muốn tùy biến (Selectedfields)

Chọn loại field và chỉnh sửa các thuộc tính tương ứng 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 205: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 205/316

205

12. Xóa MaHHtrong Selectedfields

13. AddHyperLinkField

14. Sửa HeaderTextthành Mã hàng

15. Sửa NavigateUrl,

DataTextField,DataNavigateUrlFields vàDataNavigateUrlFormatStringnhư hình bên

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 206: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 206/316

206

16. Sự kiện: PageIndexChanging 

Sorting 

SelectedIndexChanged : thường dùng để chuyển hướng đến trang web khác xử lý việc chọn 1 recordResponse.Navigate(“~/ProductDetail .aspx?ProductID=“+ 

GridView1.Rows(GridView1.SelectedIndex).Cells(2).Text 

RowDeleting  RowDataBound : xảy ra mỗi khi 1 record được điền vào

GridView

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 207: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 207/316

207

17. TemplateField: Thông thường, GridView trình bày dữ 

liệu trong chế  độ ReadOnly bằng các

Label control trong mỗi cell Tuy nhiên, ta có thể thay Label control

bằng các loại control khác như: TextBox,

DropDownList, ListBox, LinkButton,Image, ... thông qua TemplateField

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 208: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 208/316

208

18. TemplateField – TextBox Trong hộp  thoại Edit Columns, chọn  cột 

muốn chuyển dạng trình bày thành TextBox,rồi  chọn  Convert this field into a 

TemplateField . Ví dụ, ta chọn cột DonGia Chuyển sang cửa sổ mã lệnh khai báo giao

diện, ta tìm thấy  thẻ khai báo cột DonGiachuyển thành như sau:

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 209: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 209/316

209

< asp : TemplateField  HeaderText ="Đơn gi&#225;" SortExpression ="DonGia"> < EditItemTemplate > 

< asp : TextBox ID ="TextBox1" runat ="server" 

Text ='<%# Bind("DonGia")%>'></ asp : TextBox > </ EditItemTemplate > < ItemTemplate > 

< asp : Label  ID ="Label1"  runat ="server"  Text ='<%# 

Bind("DonGia") %>'></ asp : Label > </ ItemTemplate > 

</ asp : TemplateField > 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 210: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 210/316

210

19. Với mỗi cột có định dạng TemplateField,GridView sẽ  tạo ra 2 control tương  ứng với 2 chế  độ ReadOnly (ItemTemplate)và Edit (EditItemTemplate)

20. Bây giờ,  nếu  muốn TextBox sẽ  hiển  thị trong chế  độ ReadOnly, ta chuyển khaibáo Label thành TextBox

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 211: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 211/316

211

< asp : TemplateField  HeaderText ="Đơn gi&#225;" SortExpression ="DonGia"> < EditItemTemplate > 

< asp : TextBox ID ="TextBox1" runat ="server" 

Text ='<%# Bind("DonGia")%>'></ asp : TextBox > </ EditItemTemplate > < ItemTemplate > 

< asp : TextBox  ID =“ TextBox1"  runat ="server" 

Text ='<%# Bind("DonGia") %>'></ asp : TextBox > </ ItemTemplate > 

</ asp : TemplateField > 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 212: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 212/316

212

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 213: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 213/316

213

21. TemplateField – DropDownList Trong hộp  thoại Edit Columns, chọn  cột 

muốn chuyển dạng trình bày thành TextBox,rồi  chọn  Convert this field into a 

TemplateField . Ví dụ, ta chọn cột MaLoai Chuyển sang cửa sổ mã lệnh khai báo giao

diện, ta tìm thấy  thẻ khai báo cột MaLoaichuyển thành như sau:

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 214: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 214/316

214

< asp : TemplateField  HeaderText ="Loại  h&#224;ng" SortExpression ="MaLoai"> 

< EditItemTemplate > 

< asp : TextBox ID ="TextBox2" runat ="server" 

Text ='<%# Bind("MaLoai") %>'></ asp : TextBox > </ EditItemTemplate > 

< ItemTemplate > 

< asp : Label ID ="Label1" runat ="server" Text ='<%# 

Bind("MaLoai") %>'></ asp : Label > </ ItemTemplate > 

</ asp : TemplateField > 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 215: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 215/316

215

22. TemplateField – DropDownList: Tương  tự  như TextBox TemplateField,

GridView cũng phát sinh 2 khai báo cho

2 chế độ. Trước khi chuyển sang sử  dụng 

DropDownList cho GridView, ta cần chuẩn  bị  trước  nguồn  dữ  liệu cho

DropDownList này Bổ sung SqlDataSource vào trang và chỉ 

định lấy dữ liệu từ table LoaiHH

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 216: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 216/316

216

23. TemplateField  – DropDownList: Chọn Edit Template trong

SmartTag, cửa  sổ  chỉnh  sửa 

template sau xuất hiện  Xóa TextBox và bổ sung

DropDownList vàoItemTemplate

Click SmartTag của DropDownList và chọn ChooseData Source rồi chỉnh sửa như sau:

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 217: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 217/316

217

Nguồn dữ liệu 

Tên field chứa dữ liệu

hiển thị 

Tên field chứa dữ liệucập nhật 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 218: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 218/316

218

24. TemplateField – DropDownList Các công việc ta thực  hiện cho

đến  thời  điểm này là thay đổi 

control hiển  thị cho chế  độ ReadOnly (ItemTemplate) Click SmartTag của GridView1,

chọn EditItemTemplate trongdanh sách Display để tiếp tục thayđổi control hiển thị cho chế độ Editcủa cột LoaiHang

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

25 TemplateField – DropDownList

Page 219: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 219/316

219

25. TemplateField  DropDownList Tiếp tục thay control TextBox thành DropDownList Thực  hiện  chỉ  định  dữ  liệu  như  đã làm với 

ItemTemplate

Ngoài ra, ta muốn khi user click chọn giá trị trongDropDownList thì MaHH được  chọn  sẽ  cập  nhật vàocột MaHH trong table LoaiHH Chọn Edit DataBindings từ SmartTag của DropDownList Chọn SelectedValue và Field binding tương  ứng  với nó là

MaHH. Nghĩa là giá trị được chọn sẽ cập nhật vào MaHH của GridView

Chọn End Edit Template trong SmartTag của GridView1

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 220: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 220/316

220

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 221: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 221/316

221

Bổ sungImageField

Chỉ  định 

DataImageUrlField là tênfield chứa đường  dẫn đến hình ảnh, DataImageUrlFormatStringlà Images/{0}

26.TemplateField – ImageField

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 222: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 222/316

222

27. TemplateField –  Điều khiển kiểm tra GridView cho phép ta bổ sung các điều khiển kiểm 

tra dữ liệu nhập cho các cột 

 Điều khiển kiểm tra có thể là một điều khiển kiểm tra bất kỳ đã được đề cập  Chọn Edit Template rồi chọn tiếp EditItemTemplate

cho cột DonGia

Bổ sung RequiredFieldValidator và thiết  đặt  thuộc tính ControlToValidate là TextBox1.  Đồng  thời  đặt thuộc tính ErrorMessage là Bắt  buộc  nhập 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 223: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 223/316

223

27. TemplateField –  Điều khiển kiểm tra (tt)

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – GridView (tt)

Page 224: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 224/316

224

Chọn Edit, xóa DonGia,chọn Update báo lỗi “Bắt

buộc nhập” 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu –- DetailsView

Page 225: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 225/316

225

GridView cho ta sự quan sát dữ liệu tổng quát,cho phép chỉnh  sửa, xóa dữ  liệu. Tuy nhiên,GridView không cho phép thêm mới dữ liệu 

DetailsView cung cấp góc nhìn chi tiết  từng 

record, cho phép thêm, xóa, sửa dữ liệu  DetailsView có thể  kết  hợp  với GridView tạo 

nên một giải pháp cập nhật và hiển thị dữ  liệu hoàn hảo trên trang web

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu –- DetailsView

Page 226: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 226/316

226

28. Ví dụ trong phần GridView ta có xây dựng cột MaHH là một dạng control liên kết đến trangProductDetail.aspx

Bây giờ ta xây dựng trangProductDetail.aspx như sau Tạo trang mới, đặt tên ProductDetail.aspx Bổ sung SqlDataSource lấy  dữ  liệu  từ table

HangHoa với  mệnh  đề WHERE làMaHH=Request.QueryString(“ProductID”) 

Bổ sung control DetailsView, chỉ định DataSource

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu –- DetailsView

Page 227: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 227/316

227

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu –- DetailsView

Chọn Edit Fields để điều chỉnh phần hiển thị tên field

Page 228: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 228/316

228

Chọn Edit Fields để điều chỉnh phần hiển thị tên field Chọn Auto Format để  chỉ  định  dạng 

trình bày dữ liệu  Chọn Edit Template để thay đổi các control

TemplateField (thao tác thực hiện tương tự GridView)

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu –- DetailsView

Page 229: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 229/316

229

Ta có thể  chọn  định dạng như hình DetailsView cho phép

thêm mới dữ  liệu, dođó khi thay đổi control trong EditTemplate, ta nên thay

đổi  cả trong chế  độ Insert

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu –- DetailsView

Page 230: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 230/316

230

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu - FormView

Page 231: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 231/316

231

29. Control FormView về  mặt trình bàydữ  liệu và các chức năng đều  tương tự như DetailsView

30. Khi kết hợp GridView với: DetailsView: thường dùng để  hiển  thị 

thông tin chi tiết  về record được  chọn trong GridView cũng như thêm mới các

record FormView: hiển  thị thông tin dạng 

Master/Detail

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu - DataList

Page 232: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 232/316

232

31. Tương  tự GridView, DataList cũng trìnhbày dữ  liệu theo dạng danh sách liệt kêvới  nhiều  định  dạng khác nhau phongphú hơn 

32. DataList chỉ  được dùng để  hiển  thị  dữ liệu, không cho phép phân trang  Để phân trang ta cần  thực  hiện  thủ công

thông qua các control LinkButton

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – DataList (tt)

Page 233: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 233/316

233

Tiếp tục ví dụ trước: Thêm mới trang DMHHList.aspx Bổ sung SqlDataSource lấy  dữ  liệu  từ 

table HangHoa Bổ sung DataList vào trang và chỉ  định 

DataSource là SqlDataSource1 F5 để thực thi trang web Kết quả như hình sau

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – DataList (tt)

Page 234: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 234/316

234

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – DataList (tt)

Page 235: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 235/316

235

Chọn Edit Template từ SmartTag của DataList1 Trong ItemTemplate,

dùng control Table để gióng thẳng hàng cáccontrol

 Định  lại  chữ  tiếng  việt 

và các định  dạng  hiển thị cần thiết khác

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – DataList (tt)

Page 236: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 236/316

236

Chọn Auto Format theo ý thích  Điều  chỉnh các thuộc tính như 

hình bên

Bổ sung control Label, đặt tên làlblTotalRec Chận  sự  kiện Page_Load, viết 

lệnh như sau:

lblTotalRec.Text =  “Tổng   số:  “  + DataList1.Items.Count.ToString()

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – DataList (tt)

Page 237: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 237/316

237

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu - UserControl

Page 238: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 238/316

238

1. User Control thực  chất là một trangASP.NET nhưng chuyên dùng để nhúngvào các trang web khác

2. Trang User control có phần  mở  rộng làascx3.  Để  sử  dụng user control trong trang web,

ta dùng chỉ dẫn Register<%@ Register  TagPrefix=“myascx”  

TagName=“MyUserControl”   Src=“uc 1.ascx”  %> 

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – UserControl (tt)

Page 239: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 239/316

239

5. Sau khi đã đăng ký, ta khai báo sử dụng control này như sau:<myascx:MyUserControl runat=“server”/> 

6. Tuy nhiên, trong chế độ Design của trangweb, các thẻ này sẽ  được phát sinh tự động khi ta nắm kéo thả trang ascx vàotrang web

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – UserControl (tt)

Page 240: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 240/316

240

7. Thêm mới user control bằng cách chọn Add New Item, LEFT.ascx

8. Bổ sung SqlDataSource lấy  dữ  liệu  từ table LoaiHH

9. Bổ sung ListBox lấy  dữ  liệu  từ SqlDataSource1, đặt AutoPostBack=True

10. Lưu user control

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – UserControl (tt)

11.

Page 241: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 241/316

241

Bổ sung trang ASP.NET mới, tênUseUC.aspx12. Bổ sung SqlDataSource lấy  dữ  liệu  từ 

table HangHoa với MaLoai lấy giá trị  từ 

control HiddenField13. Bổ sung HiddenField tên hid14. Bổ sung GridView lấy  dữ  liệu  từ 

SqlDataSource115. Kéo file LEFT.ascx vào trang web

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – UserControl (tt)

Page 242: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 242/316

242

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – UserControl (tt)

16.

Page 243: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 243/316

243

Chận sự kiện Page_Load và viết lệnh:Dim lst As ListBox = LEFT1.FindControl("ListBox1")

hid.Value =  lst.SelectedValue.ToString()

17. F5 để  thực thi trang web, click chọn  loại hàng bên trái để xem danh sách hànghóa thuộc  loại này được trình bày trongGridView

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – UserControl (tt)

Page 244: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 244/316

244

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu - MasterPage

Page 245: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 245/316

245

18. Hữu ích trong việc thống nhất dạng thức trình bày của các trang web trongwebsite

19.

Thực  chất là 1 trang ASP.NET có phần mở rộng là .master20. Trang master có chỉ dẫn ở đầu file giao

diện là: <%@ Master ... %>

VI.- ASP.NET & ADO.NET

5.- Các control trình bày dữ liệu – MasterPage (tt)

21. Thêm trang master mới vào project

Page 246: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 246/316

246

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu – MasterPage (tt)

22. Bổ sung control Table vào trang23.

Page 247: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 247/316

247

Kéo user control LEFT vào cell bên trái

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu – MasterPage (tt)

ỗ ề ấ

Page 248: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 248/316

248

24. Mỗi trang master đều có ít nhất 1ContentPlaceHolder dùng làm nơi  giữ chỗ cho các trang ASP.NET có chỉ định dùng trang master

25. Tuy nhiên ta có thể  bổ sung thêmContentPlaceHolder

26. Tạo trang mới LoaiHH.aspx có chỉ  định sử dụng trang master như sau

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu – MasterPage (tt)

Page 249: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 249/316

249

Sau khichọn

 Add,hộpthoại yêucầu chọn

trang mastersẽ hiện ra 

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu – MasterPage (tt)

27. Thiết kế trang LoaiHH tương tự trang UseUC đã thực hiện 

Page 250: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 250/316

250

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu - UserControl

28. Chận sự kiện Page_Load và viết lệnh:

Page 251: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 251/316

251

Dim lst As ListBox = Page.Master.FindControl(“LEFT 1”).FindControl("ListBox1")

hid.Value = lst.SelectedValue.ToString()

29. F5 để  thực thi trang web, click chọn  loại hàng bên trái để xem danh sách hàng hóathuộc  loại này được trình bày trong

GridView

VI.- ASP.NET & ADO.NET5.- Các control trình bày dữ liệu – UserControl (tt)

Page 252: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 252/316

252

NỘI DUNG (tt) 

Page 253: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 253/316

253

I. Web tĩnh và động II. Giới thiệu về ASP.NETIII. IIS (Internet Information Services)

IV. Các control trong ASP.NETV. Các đối tượng trong ASP.NETVI. ASP.NET & ADO.NETVII. Xây dựng  ứng  dụng bán sách qua mạng  

VII. Xây dựng ứng dụng bán sách quamạng  

1. Tạo WebSite mới tên BookOnline

Page 254: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 254/316

2. Trong thư  mục  chứa WebSite, tạo  thư mục Images/Books và chép cáchình ảnh vào đây 

3. Trong cửa  sổ Solution Explorer, thêmFolder mới tên Images, thêm tiếp FolderBooks là con của Images

4. Click phải Folder Books, chọn AddExisting Items rồi chọn các file hình ảnh 

254

VII. Xây dựng ứng dụng bán sáchqua mạng  

1

Page 255: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 255/316

1. Tạo user control tìm sách2. Tạo trang Master3. Thiết kế và xây dựng phần khách hàng

Sơ đồ website phần khách hàng Mô hình hoạt động và giao tiếp  Thiết kế xử lý

Xây dựng các webform4. Thiết kế và xây dựng phần quản trị 

255

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Tạo user control tìm sách 

1. Add New Item, chọn Web User Control

đặ B kS h

Page 256: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 256/316

và đặt tên là ucBookSearch.ascx 

2. Thiết kế giao diện cho control bao gồm 2Label, 1 TextBox và 1 Button như sau:

3. Viết  lệnh cho button thực  hiện  chuyển sang trang khác như sau:

Response.Redirect("BookSearch.aspx?title=" & title.Text)256

VII. Xây dựng ứng dụng bán sách qua mạng  1. Tạo trang master  

1 h à đặt

Page 257: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 257/316

1. Add New Item, chọn Master Page và đặt tên là BookOnline.master 

2.  Đặt 1 Table gồm 2 dòng, 2 cột vào trang

3.  Đặt hình ảnh LOGO vào cột 1 dòng 14. Từ Solution Explorer, kéo file

ucBookSearch.aspx vào cột 1 dòng 2

5. Từ ToolBox, kéo Menu control vào cột 2dòng 1 và tạo  hệ  thống trình đơn  như sau 257

VII. Xây dựng ứng dụng bán sách qua mạng  1. Tạo trang master  

Page 258: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 258/316

Default.aspx

SignIn.aspxShoppingCart.aspxShoppingCart.aspx

HistorialShoppingCart.aspx

Login.aspxAdminPage.aspx

258

VII. Xây dựng ứng dụng bán sách qua mạng  1. Tạo trang master  

1 Gi diệ t t h

Page 259: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 259/316

1. Giao diện trang master tương tự như sau

259

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

1 S đồ b i hầ khá h hà

Page 260: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 260/316

1. Sơ đồ website phần khách hàng Sơ  đồ mô tả  số  lượng trang và sự liên kết giữa các trang

2. Mô hình hoạt động và giao tiếp  Cách thức hoạt động của các trang và giữa 

các trang với nhau

3. Thiết kế dữ liệu và xử lý4. Xây dựng các webform

260

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

 A/. Sơ đồ WebSite HomePage  HistorialShopping

CartPage.aspx 

Page 261: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 261/316

261

LogInPage 

SearchPage  CategoryPage  AboutPage 

ProductPage 

SignInPage ShoppingCartPage 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

B/. Mô hình hoạt động và giao tiếp 

Page 262: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 262/316

262

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

B/. Mô hình hoạt động và giao tiếp (tt) 

Page 263: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 263/316

 

263

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

B/. Mô hình hoạt động và giao tiếp (tt) 

Page 264: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 264/316

 

264

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý 

Page 265: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 265/316

 

265

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 266: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 266/316

 

266

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 267: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 267/316

 

267

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 268: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 268/316

 

268

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 269: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 269/316

 

269

1.

Tạo thành iên mới

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 270: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 270/316

Tạo thành viên mới 

270

create procedure sp_addGuestasbegin

insert into ThanhVien (TenDN, MatKhauDN,Quyen, Ho, Ten, email, DC, DT, GhiChu, MaThe,SoThe, DaDK)

values (null, null, null, null, null, null, null, null,

null, null, null, 0)SELECT @@IDENTITY

end 

1.

Xóa thành viên

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 271: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 271/316

Xóa thành viên

271

create procedure sp_delGuest@matv int

as

begindelete from thanhvien where matv=@matv

end 

1.

Bổ sung thông tin khi thành viên SignIn

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

d i G

Page 272: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 272/316

Bổ sung thông tin khi thành viên SignIn

272

create procedure sp_registerGuest@matv int, @tendn nvarchar(50),@mkdn nvarchar(50), @ho nvarchar(50),@ten nvarchar(50), @email nvarchar(50),

@dc nvarchar(50), @dt nvarchar(50)asbegin

update thanhvienset TenDN=@tendn, MatKhauDN=@mkdn, Ho=@ho,

Ten=@ten, email=@email, DC=@dc, DT=@dt, DaDK=1where MaTV=@matv

end

1.

Tạo giỏ hàng cho 1 thành viênd ddC

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 273: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 273/316

Tạo giỏ hàng cho 1 thành viêncreate procedure sp_addCart@matv int

asbegin

insert into GioHang (MaTV, NgayTao, DaDatHang)

values (@matv, getdate(), 0)

select @@identityend 

273

1.

Thêm sách vàogiỏ

hàng

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

d ddT C

Page 274: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 274/316

Thêm sách vào hàng

274

create procedure sp_addToCart@magh int,@masach int

ASBEGINdeclare @gia as intselect @gia=Gia from Sach where MaSach=@masach

insert into CTGioHang (MaGH, MaSach, GhiChu, SL,Gia)values (@magh, @masach, null, 1, @gia)

END

1.

Xóa sáchkhỏi giỏ

hàng

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

d d lC I

Page 275: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 275/316

Xóa sách   hàng

275

create procedure sp_delCartItem@magh int,@masach int

asbegin

delete from ctgiohangwhere magh=@magh and masach=@masach

end 

1. Cập nhật sách trong giỏ hàng

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp updCartItem

Page 276: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 276/316

276

create procedure sp_updCartItem@magh int,@masach int,

@ghichu nvarchar(20),@sl intasbegin

update ctgiohangset ghichu=@ghichu, sl=@slwhere magh=@magh and masach=@masach

end

1. Tính tổng tiền của giỏ hàng

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 277: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 277/316

277

create procedure sp_TongTienGH@magh int

as

beginselect sum(SL*Gia)

from ctgiohangwhere MaGH=@magh

end

1. Do mỗi thành viên khi chưa login đều được 

tạo 1 mã thành viên mới nên sau khi login

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

Page 278: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 278/316

tạo 1 mã thành viên mới, nên sau khi loginmã thành viên mã thành viên trong giỏ hànghiện tại phải được cập nhật lại 

278

create procedure sp_updCartIDOfUser@magh int,@matv int

asbegin

update giohangset matv=@matvwhere magh=@magh

end

1. Tạo đơn đặt hàng mới 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp addOrder

Page 279: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 279/316

279

create procedure sp_addOrder@magh int,@matv int

asbegin

insert into DDH (MaGH, MaTV, HTTT, HTVC)values (@magh, @matv, null, null)

select @@identityend

1. Thêm các sách từ giỏ hàng vào đơn  ĐH 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp addToOrder@ ddh i t

Page 280: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 280/316

280

create procedure sp_addToOrder@maddh int,@magh int

asbegin

insert into ctddh (maddh, masach, ghichu, sl, gia)select @maddh, masach, ghichu, sl, gia

from ctgiohangwhere magh=@magh

update giohangset DaDatHang=1where magh=@magh

end

1. Kiểm tra xem user đã đăng ký chưa? 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp checkRegistered

Page 281: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 281/316

281

create procedure sp_checkRegistered@matv int

asbegin

select DaDKfrom ThanhVienwhere MaTV=@matv

end

1. Kiểm tra xem tên đăng nhập đã tồn tại? 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp checkLoginName

Page 282: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 282/316

282

create procedure sp_checkLoginName@tendn nvarchar(50)

asbegin

select count(*)from thanhvienwhere TenDN=@tendn

end

1. Kiểm tra thông tin đăng nhập hợp lệ? 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp checkUserLogging

Page 283: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 283/316

283

create procedure sp_checkUserLogging@tendn nvarchar(50),@mkdn nvarchar(50)

as

begin select count(*)from thanhvienwhere tendn=@tendn and matkhaudn=@mkdn

end

1. Lấy về mã thành viên của user đăng nhập 

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

C/. Thiết kế dữ liệu và xử lý (tt) 

create procedure sp getUserID

Page 284: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 284/316

284

create procedure sp_getUserID@tendn nvarchar(50),@mkdn nvarchar(50)

asbegin

select MaTVfrom thanhvienwhere tendn=@tendn and matkhaudn=@mkdn

end

1. Default.aspx Thêm webform

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

D/. Xây dựng các webform 

Page 285: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 285/316

Thêm webformmới vào project,đặt tên và chọn

Select masterpage

Nhập nội dung giới thiệu 

Bổ sung control BulletedList, đặt tên là optCat. Click chọnChoose DataSource và thực hiện tiếp cácbước trong slide sau.  285

1. Default.aspx (tt) Trong hộp thoại xuất hiện chọn <New Data

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

D/. Xây dựng các webform 

Page 286: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 286/316

Trong hộp  thoại xuất hiện, chọn <New DataSource…>

Trong hộp  thoại  xuất  hiện  kế  tiếp,  chọn 

Database, chú ý tên của DataSource phíadưới. OK

Trong hộp thoại xuất hiện kế tiếp, chọn New

Connection Trong hộp  thoại xuất hiện kế  tiếp, nhập tên

server, chọn  loại  kết  nối thích hợp và chọn CSDL. OK

286

1. Default.aspx (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần khách hàng 

D/. Xây dựng các webform 

Page 287: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 287/316

287

1. Default.aspx (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 288: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 288/316

288

1. Default.aspx (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 289: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 289/316

289

1. Default.aspx (tt) Double click vào button Xem thể loại này và

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 290: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 290/316

Double click vào button Xem thể  loại này vàviết lệnh như sau

Nhấn F5 để xem thử kết quả trình bày trongtrang này.

Slide sau trình bày các bước thực hiện trangCategoryDetail.aspx290

Response.Redirect("CategoryDetail.aspx?catID=" &

optCat.SelectedValue)

2. CategoryDetail.aspxThêm webform mới tên là CategoryDetail aspx

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 291: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 291/316

Thêm webform mới tên là CategoryDetail.aspx(chọn Select master page)

291

2. CategoryDetail.aspx (tt) Bổ sung GridView vào webform và đặt tên là

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 292: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 292/316

Bổ sung GridView vào webform và đặt tên làdgrTheLoaiSach

Chọn Choose Data Source / <New Data

Source…> Trong hộp thoại xuất hiện, chọn chuỗi kết nối 

đã tạo trước đó (bookstoreConnectionString)

Chọn  dữ  liệu  từ  Specify a custom SQL or stored procedure . Next

292

2. CategoryDetail.aspx (tt) Dùng QueryBuilder hoặc viết lệnh SQL lấy

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 293: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 293/316

Dùng QueryBuilder ặ     ệ SQL y các thông tin sau: MaSach, TenSach,TenTG, Gia, Hinh, MaTL, TenTL và điều 

kiện lọc các mẫu tin là MaTL=@matl. Next Chỉ định giá trị cho tham số:

293

2. CategoryDetail.aspx (tt)

Chọn Edit Columns từ SmartTag của Grid

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 294: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 294/316

ọ Edit Columns SmartTag Grid

294

2. CategoryDetail.aspx (tt) Chận  sự  kiện Page_Load và điền thông tin cho

lblTh L i h

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 295: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 295/316

g _ glblTheLoai như sau: lblTheLoai.Text = GridView1.Rows(0).Cells(2).Text

295

3. ProductDetail.aspx Tạo webform mới  đặt tên là

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 296: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 296/316

ạ ặProductDetail.aspx

Thêm vào trang control FormView, Button.

FormView có Data Source lấy các thông tinMaSach, TenSach, TenTG, TenTL, Gia, Hinh,GhiChu với MaSach=@masach(=QueryString(“ProdID”)) 

Từ SmartTag của FormView, chọn EditTemplate

296

3. ProductDetail.aspx (tt) Thêm Table vào ItemTemplate và kéo thả các

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 297: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 297/316

pcontrol trong FormView theo vị trí như hình:

297

Xóa Field HinhThêm vào 1 Image control

Từ SmartTag, chọn Edit DataBindings Chọn như trong hình 

3. ProductDetail.aspx (tt) Chận sự kiện click trên Thêm vào giỏ hàng. 

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 298: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 298/316

ậ ự ệ g g

298

Dim connStr As String = "server=(local);Initial Catalog=bookstore;Integrated Security=True"Dim dbConn As New SqlConnection(connStr)Dim dbCmd As New SqlCommand()Dim userID As Long

dbConn.Open()dbCmd.Connection = dbConn

If Session.IsNewSession() ThendbCmd.CommandText = "sp_addGuest"dbCmd.CommandType = Data.CommandType.StoredProcedureuserID = dbCmd.ExecuteScalar()

Session("userID") = userID

dbCmd.CommandText = "sp_addCart"dbCmd.CommandType = Data.CommandType.StoredProceduredbCmd.Parameters.Add("@MaTV", Data.SqlDbType.Int).Value = userIDSession("cartID") = dbCmd.ExecuteScalar()

3. ProductDetail.aspx (tt) Chận sự kiện click trên Thêm vào giỏ hàng (tt) 

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 299: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 299/316

ậ ự ệ g g ( )

299

ElseuserID = Session("userID")If (Session("cartID") Is Nothing) Then

dbCmd.CommandText = "sp_addCart"dbCmd.CommandType = Data.CommandType.StoredProcedure

dbCmd.Parameters.Add("@MaTV", Data.SqlDbType.Int).Value = userIDSession("cartID") = dbCmd.ExecuteScalar()End If

End IfdbCmd = New SqlCommand()dbCmd.Connection = dbConndbCmd.CommandText = "sp_addToCart"dbCmd.CommandType = Data.CommandType.StoredProceduredbCmd.Parameters.Add("@MaGH", Data.SqlDbType.Int).Value = Session("cartID")dbCmd.Parameters.Add("@MaSach", Data.SqlDbType.Int).Value = CInt(Request.QueryString("ProdID"))dbCmd.ExecuteNonQuery()

Response.Redirect("ShoppingCart.aspx")

4. ShoppingCart.aspx Tạo webform mới và thêm control GridView

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 300: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 300/316

ạlấy các thông tin: MaGH, MaSach, GhiChu,SL, CTGioHang.Gia, TenSach với 

MaGH=@magh (=Session(“cartID”))  Tạo khả năng phân trang, 

chỉnh sửa, xóa cho Grid  Click chọn Edit Columns 

và định dạng lại các cột như slide sau 

300

4. ShoppingCart.aspx (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 301: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 301/316

301

4. ShoppingCart.aspx (tt)

Chận sự kiện Page_Load:

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Dim dbConn As New SqlConnection(connStr)

Page 302: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 302/316

g _

302

Dim dbConn As New SqlConnection(connStr)Dim dbCmd As New SqlCommand()

dbConn.Open()dbCmd.Connection = dbConndbCmd.CommandText = "sp_TongTienGH“ dbCmd.CommandType =Data.CommandType.StoredProcedure

dbCmd.Parameters.Add("@magh", Data.SqlDbType.Int).Value= Session(“cartID”) 

lblTongTien.Text = dbCmd.ExecuteScalar().ToString()

4. ShoppingCart.aspx (tt)

Chận sự kiện RowDeleting của GridView

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Dim dbConn As New SqlConnection(connStr)

Page 303: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 303/316

g

303

Dim dbConn As New SqlConnection(connStr)Dim dbCmd As New SqlCommand()

dbConn.Open()

dbCmd.Connection = dbConndbCmd.CommandText = "sp_delCartItem“ dbCmd.CommandType = Data.CommandType.StoredProceduredbCmd.Parameters.Add("@magh", Data.SqlDbType.Int).Value = cartIDdbCmd.Parameters.Add("@masach", Data.SqlDbType.Int).Value =

e.Keys.Item(1)dbCmd.ExecuteNonQuery()e.Cancel = TrueResponse.Redirect("shoppingcart.aspx")

4. ShoppingCart.aspx (tt)

Chận sự kiện RowUpdating của GridView

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 304: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 304/316

p g

304

Dim dbConn As New SqlConnection(connStr)Dim dbCmd As New SqlCommand()Dim gc As String = e.NewValues.Item(0)Dim sl As String = e.NewValues.Item(1)If (gc Is Nothing) Then gc = "“ If (sl Is Nothing) Then sl = "1“ If (Convert.ToInt32(sl) < 1) Then sl = "1"

dbConn.Open()dbCmd.Connection = dbConn

4. ShoppingCart.aspx (tt)

Chận sự kiện RowUpdating của GridView (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 305: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 305/316

p g ( )

305

dbCmd.CommandText = "sp_updCartItem“ dbCmd.CommandType = Data.CommandType.StoredProceduredbCmd.Parameters.Add("@magh", Data.SqlDbType.Int).Value = cartID

dbCmd.Parameters.Add("@masach", Data.SqlDbType.Int).Value =e.Keys.Item(1).ToString()

dbCmd.Parameters.Add("@ghichu", Data.SqlDbType.NVarChar).Value = gcdbCmd.Parameters.Add("@sl", Data.SqlDbType.Int).Value =

Convert.ToInt32(sl)

dbCmd.ExecuteNonQuery()e.Cancel = TrueResponse.Redirect("shoppingcart.aspx")

4. ShoppingCart.aspx (tt)

Thêm LinkButton Đặt  Hàng  và chận  sự  kiện click của nó

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 306: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 306/316

click của nó

306

4. ShoppingCart.aspx (tt) Thêm LinkButton Đặt  Hàng  và chận  sự  kiện 

li k ủ ó (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 307: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 307/316

click của nó (tt)

307

4. ShoppingCart.aspx (tt) Thêm LinkButton Đặt  Hàng  và chận  sự  kiện 

li k ủ ó (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 308: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 308/316

click của nó (tt)

308

4. ShoppingCart.aspx (tt)

Thêm LinkButton Tiếp  tục   chọn sách  dùngđiều hướng đến trang Default aspx

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng 

D/. Xây dựng các webform 

Page 309: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 309/316

điều hướng đến trang Default.aspx

309

4. LogIn.aspx Tạo WebForm mới và thêm control Login.

Chậ kiệ A th ti t

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng D/. Xây dựng các webform 

Page 310: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 310/316

Chận sự kiện Authenticate:

310

4. LogIn.aspx Chận sự kiện Authenticate (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng D/. Xây dựng các webform 

Page 311: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 311/316

311

4. LogIn.aspx Chận sự kiện Authenticate (tt)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng D/. Xây dựng các webform 

Page 312: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 312/316

312

5. BookSearch.aspx Tạo WebForm mới và thêm control DataList

lấy các thông tin: MaSach TenSach TenTG

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng D/. Xây dựng các webform 

Page 313: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 313/316

lấy các thông tin: MaSach, TenSach, TenTG,Gia, Hinh, TenTL với TenSach LIKE„%@title%‟ (=QueryString(“title”)) 

Chọn Edit Template cho DataList và điều chỉnh các control như sau:

313

Xóa Field HinhThêm vào 1 Image controlTừ SmartTag, chọn Edit DataBindings Chọn như trong hình 

6. HistoricalShoppingCart.aspx Tạo WebForm mới và thêm control GridView

lấy các thông tin: MaGH NgayTao với

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng D/. Xây dựng các webform 

Page 314: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 314/316

lấy các thông tin: MaGH, NgayTao với DaDatHang=1 và MaTV=@matv(=Session(“userID”)) 

Thêm control GridView khác lấy các thông tin:MaSach, TenSach, TenTG, SL,CTGioHang.Gia với MaGH=@magh (=Control

GridView1.SelectedValue)

314

6. HistoricalShoppingCart.aspx (tt) Thêm 2 control GridView khác lấy các thông tin về 

các giỏ hàng chưa được đặt hàng của thành viên hiện tại (học viên tự làm)

VII. Xây dựng ứng dụng bán sách qua mạng  

1. Phần khách hàng D/. Xây dựng các webform 

Page 315: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 315/316

tại (học viên tự làm)

315

VII. Xây dựng ứng dụng bán sách qua mạng  1. Phần quản trị 

Page 316: ASP1-5B1-5D.NET_04Mar08

5/11/2018 ASP1-5B1-5D.NET_04Mar08 - slidepdf.com

http://slidepdf.com/reader/full/asp1-5b1-5dnet04mar08 316/316