Bài giảng Thiết kế và lập trình Web bằng ngôn ngữ ASP - Phần 3: Các đối tượng trong ASP.NET - Dương Khải Phong

Tóm tắt Bài giảng Thiết kế và lập trình Web bằng ngôn ngữ ASP - Phần 3: Các đối tượng trong ASP.NET - Dương Khải Phong: ... control thao tác với dữ liệu Chứa control bảo mật dữ liệu trong các form Chứa các control chuẩn HTML b. Điều khiển sự kiện trong ASP.Net: • Phần lớn các điều khiển của ASP.Net hỗ trợ 1 hoặc nhiều sự kiện. Ví dụ: điều khiển ASP.NET Button hỗ trợ sự kiện Click, khi người sử dụng n...ộc tính cơ bản của Validation: • ControlToValidate: tên điều khiển cần kiểm tra. • Text: chuỗi thông báo xuất hiện khi có lỗi. • ErrorMessage: chuỗi thông báo xuất hiện trong điều khiển Validation Summary. • EnableClientScript: cho phép thực hiện kiểm tra ở phía Client hay không (True/Fa...u (Validation):  Ví dụ RequiredFieldValidator, CompareValidator, RegularExpressionValidator Bước 1: tạo project như hình bên - ID userName: txtUser - ID Birthday: txtBirthday - ID Email: txtEmail - ID Password: txtPassword - ID Confirm PWD: txtConfirmPWD - ID Đăng ký: bRegiste...

pdf45 trang | Chia sẻ: havih72 | Lượt xem: 158 | Lượt tải: 0download
Nội dung tài liệu Bài giảng Thiết kế và lập trình Web bằng ngôn ngữ ASP - Phần 3: Các đối tượng trong ASP.NET - Dương Khải Phong, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
• GVHD: Dương Khai Phong 
• Email: khaiphong@gmail.com 
• Website:  
Lý thuyết: 45 tiết 
Thực hành: 30 tiết 
 1/ Giới thiệu tổng quan Web 
 2/ HTML và JavaScript 
 3/ Các đối tượng trong ASP.Net 
 4/ ADO.Net (kết nối cơ sở dữ liệu) 
 5/ Triển khai ứng dụng Web + Ôn tập 
PHẦN 3: 
1. Giới thiệu. 
2. Cấu trúc website bằng ASP.Net 
3. Cơ bản về lập trình C# trong ASP.Net 
4. Các điều khiển chuẩn (Standard Control). 
5. Các đối tượng nâng cao trong ASP.Net 
a. ASP.Net là gì? 
• ASP.Net là kỹ thuật lập trình và phát triển ứng dụng Web ở 
phía Server (Server-side) trên môi trường Visual Studio.Net, 
dùng kết hợp các ngôn ngữ như VB.Net hoặc C# với HTML, 
Javascript, CSS ( khác với kỹ thuật lập trình ở phía Client 
(Client-side) chỉ dùng các ngôn ngữ như HTML, Javascript 
và CSS..) 
 Yêu cầu: người học phải được trang bị kiến thức cơ bản về lập 
trình bằng ngôn ngữ C#. 
b. Các đặc điểm của trang ASP.Net: 
• Một trang ASPX để tự động phát sinh mã HTML hiển thị 
trên Browser → trang Asp.Net đó cần được biên dịch trước 
thành tập tin DLL mà Server có thể thi hành. 
• Trong cùng một ứng dụng, lập trình viên có thể sử dụng 
nhiều ngôn ngữ khác nhau để hoàn thành ứng dụng. 
ASPX 
File 
ASPX 
Engine 
Generate 
Page Class 
Trang 
dạng 
*.dll 
Code 
Behind 
Class 
Phân tích 
Cú pháp 
Phát sinh 
Yêu cầu 
Khởi tạo,xử lý 
và Render 
Biên dịch 
Hồi đáp 
Yêu cầu 
Hồi đáp 
a. Tổng quan: 
• Một website ASP.Net được tạo ra sẽ cung cấp sẵn 
một số tập tin và thư mục dùng để phục vụ cho việc 
tổ chức lưu trữ một ứng dụng, gồm có: 
Default page: tự động thi hành khi người dùng 
nhập tên miền. 
Web config: chứa các khai báo mặc định của 
Web server. 
Application folders: dùng để lưu trữ các tập tin 
có phần mở rộng tương ứng với ý nghĩa của thư 
mục lưu trữ. 
Cấu trúc website ASP.Net 
Cửa sổ thuộc tính 
Cửa sổ chứa các đối tượng và control 
Cửa sổ viết code và design 
b. Tìm hiểu một trang ASP.Net: 
• Một trang ASP.Net có phần đuôi mở rộng *.aspx và thông 
thường kèm theo một lớp phục vụ ẩn đằng sau (code behind) 
có phần đuôi mở rộng là *.aspx.cs 
• Để viết code (C#,VB.Net,..) xây dựng một trang web asp.net 
ta có thể thực hiện một trong các cách sau: 
 Viết code trực tiếp trong trang *.aspx: 
 : khai báo biến hoặc viết các hàm, lớp trong cặp 
thẻ này. 
 : lấy giá trị của biến hay của 1 hàm nào đó, 
 : lấy giá trị các đối tượng ràng buộc dữ liệu. 
 Viết code trong trang code-behind *.aspx.cs (thường 
dùng) 
c. Ví dụ (viết code trực tiếp trong trang aspx). 
Đoạn code bằng C# viết 
trực tiếp trong trang aspx 
Địa chỉ thực hiện trang aspx 
c. Ví dụ (viết code trong trang code behind aspx.cs). 
KẾT QUẢ VẪN 
KHÔNG ĐỔI 
a. Các vấn đề cơ bản trong lập trình: 
• Các kiểu dữ liệu cơ bản 
• Khai báo biến – hằng 
• Các cấu trúc điều khiển 
 Cấu trúc điều kiện – rẽ nhánh 
 Cấu trúc lặp 
• Hàm 
• Hướng đối tượng trong C# 
•  
b. Các kiểu dữ liệu cơ bản: 
KIỂU C# KIỂU .NET SỐ BYTE MÔ TẢ 
byte Byte 1 số nguyên không dấu từ 0 đến 255 
char Char 2 Kiểu ký tự Unicode 
bool Boolean 1 Kiểu luân lý true/false 
sbyte Sbyte 1 Số nguyên có dấu, từ -128 đến 127 
short 
Int16 2 
Số nguyên có dấu từ -32768 đến 32767 
ushort Số nguyên không dấu từ 0 đến 65.535 
int 
Int32 4 
Số nguyên có dấu –2.147.483.647 đến 2.147.483.647 
uint Số nguyên không dâu 0 đến 4.294.967.295 
float Single 4 kiểu dấu chấm động, giá trị xấp xỉ từ 3,4E-38 đến 
3,4E+38, với 7 chữ số có nghĩa. 
double Double 8 Kiểu dấu chấm động có độ chính xác gấp đôi, giá trị 
xấp xỉ từ 1,7E-308 đến 1,7E+308, với 15,16 chữ số có 
nghĩa 
decimal Decimal 8 Có độ chính xác đến 28 con số và giá trị thập phân, 
được dùng trong tính toán tài chính, kiểu này đòi hỏi 
phải có hậu tố m hoặc M kèm theo sau. 
c. Khai báo biến – hằng: (tương tự như C/C++) 
d. Các cấu trúc điều khiển: (tương tự như C/C++) 
 Cấu trúc điều kiện – rẽ nhánh: 
 if .. else 
 switch..case 
 Cấu trúc lặp: 
 for 
 while 
 do..while 
e. Hàm: (tương tự như C/C++) 
 Lưu ý: do ngôn ngữ C# là ngôn ngữ thuần hướng đối 
tượng nên cần lưu ý đến quyền truy cập của các thành viên. 
a. Tổng quan về các điều khiển trong ASP.Net: 
• Các điều khiển ASP.Net (control) là phần quan trọng nhất 
trong ASP.Net Framework (một control ASP.NET là một lớp 
thực thi trên server và đưa ra nội dung trên trình duyệt). 
• ASP.NET có hơn 70 control hỗ trợ xây dựng ứng dụng web, 
được chia ra các nhóm control sau: 
Chứa các control chuẩn: 
Label,Textbox,Button 
Chứa control kiểm tra 
tính hợp lệ của dữ liệu 
Chứa các control điều 
hướng trong trang web 
Chứa các control thao 
tác với dữ liệu 
Chứa control bảo mật 
dữ liệu trong các form 
Chứa các control chuẩn 
HTML 
b. Điều khiển sự kiện trong ASP.Net: 
• Phần lớn các điều khiển của ASP.Net hỗ trợ 1 hoặc nhiều sự 
kiện. 
Ví dụ: điều khiển ASP.NET Button hỗ trợ sự kiện Click, khi 
người sử dụng nhấn chuột vào Button một sự kiện sẽ được đưa 
ra và công việc này sẽ được xử lý trên server. 
• Một trang ASP.Net khi thực thi sẽ gồm có các sự kiện sau 
xảy ra: 
PreInit Init InitComplete Preload Load 
LoadComplete PreRender PreRenderCompelte 
SaveStateComplete Unload 
Ví dụ sự kiện trang ASP.Net: 
Sự kiện Page_PreInit() 
thường dùng kiểm tra trang 
có PostBack hay không?, tạo 
Theme động, Master động 
Sự kiện Page_Init() thường 
dùng để đọc hoặc đặt giá trị 
thuộc tính cho sự kiện. 
Nếu có PostBack thì phát 
sinh sự kiện của điều khiển: 
như click của Button 
c. Các điều khiển chuẩn (Standard Control): 
 Các ví dụ liên quan đến các Standard Control: 
1. Control: Label – Textbox - Button 
Bước 1: Tạo project 
Bước 2: Thiết kế form như hình 
 - ID Label: lContent 
 - ID Textbox: txtContent 
 - ID Button: bChange 
Bước 3: Viết code xử lý sự kiện 
click cho nút Change như sau: 
 - Double click vào nút Change 
 Các ví dụ liên quan đến các Standard Control: 
2. Control: Button kết hợp ASP.Net và Javascript 
Bước 1,2,3: tương tư như ví dụ 1 
Khi nhấn nút Change 
hộp thoại xác nhận cho 
phép người dùng kiểm 
tra lại trước khi thay đổi 
Bước 4: xử lý sự kiện phía client 
bằng javascript như sau: 
 Các ví dụ liên quan đến các Standard Control: 
2. Control: Button kết hợp ASP.Net và Javascript 
Bước 1,2,3: tương tư như ví dụ 1 
Khi nhấn nút Change 
hộp thoại xác nhận cho 
phép người dùng kiểm 
tra lại trước khi thay đổi 
Bước 4: xử lý sự kiện phía client 
bằng javascript như sau: 
 Các ví dụ liên quan đến các Standard Control: 
3. Thực hiện chuyển trang: (thuộc tính PostBackURL) 
Bước 1,2: tương tự như ví dụ 1, 
tạo project, cùng các control có 
ID như sau: 
 - Trang default.aspx: 
• ID TextBox: txtSearch 
• ID Button: bGo 
 - Trang search.aspx: 
• ID Label: lSearch 
Bước 3: viết code cho nút 
Go trên trang default.aspx. 
 Các ví dụ liên quan đến các Standard Control: 
3. Thực hiện chuyển trang: (thuộc tính PostBackURL) 
Bước 1,2: tương tự như ví dụ 1, 
tạo project, cùng các control có 
ID như sau: 
 - Trang default.aspx: 
• ID TextBox: txtSearch 
• ID Button: bGo 
 - Trang search.aspx: 
• ID Label: lSearch 
Bước 3: viết code cho nút 
Go trên trang default.aspx. 
Bước 4: viết code cho trang 
search.aspx. 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 Tổng quan Validation: 
• Dùng để kiểm tra tính hợp lệ 
của dữ liệu. 
• Tự động phát sinh code kiểm 
tra dữ liệu ở client-side tùy 
thuộc vào web browser có hỗ 
trợ thực thi script ở client 
không. 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 Qui trình kiểm trả của Validation: 
Dữ liệu nhập 
Hợp lệ? 
Hợp lệ? 
Các xử lý 
Không 
Client 
Server 
Không 
a. Điều khiển kiểm tra dữ liệu (Validation): 
Một số thuộc tính cơ bản của Validation: 
• ControlToValidate: tên điều khiển cần kiểm tra. 
• Text: chuỗi thông báo xuất hiện khi có lỗi. 
• ErrorMessage: chuỗi thông báo xuất hiện trong điều khiển 
Validation Summary. 
• EnableClientScript: cho phép thực hiện kiểm tra ở phía 
Client hay không (True/False). 
• SetFocusError(True/False): đặt con trỏ vào điều khiển khi dữ 
liệu không hợp lệ. 
• ValidationGroup: tên nhóm. Nhóm các điều khiển có cùng 
giá trị ValidationGroup. 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 RequiredFieldValidator 
Kiểm tra giá trị trong điều khiển 
phải được nhập 
 Thuộc tính InitialValue: 
• Giá trị khởi động 
• Giá trị nhập vào phải 
khác với giá trị của 
thuộc tính này 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 Ví dụ RequiredFieldValidator 
Bước 1: tạo project như hình bên 
 - ID userName: txtUser 
 - ID Password: txtPassword 
 - ID nút Đăng nhập: bLogin 
 - ID RequiredFieldValidator: rfvPassword 
Bước 2: thiết lập thuộc tính cho rfvPassword 
Gán control 
muốn kiểm tra 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 RangeValidator 
• Kiểm tra giá trị của điều khiển nằm trong 
đoạn [min-max] 
• Thuộc tính: 
– MinimumValue: giá trị nhỏ nhất 
– MaximumValue: giá trị lớn nhất 
– Type: xác định kiểu dữ liệu kiểm tra 
(String/Integer/Double/Date/Currency) 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 RegularExpressionValidator 
• Kiểm tra giá trị của điều khiển phải theo 
mẫu qui định 
• Thuộc tính: 
– ValidationExpression: qui định mẫu 
kiểm tra dữ liệu dựa vào các ký hiệu 
qui định. 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 CompareValidator 
• So sánh giá trị của một điều khiển với giá 
trị của một điều khiển khác. 
• So sánh giá trị của một điều khiển với 
một giá trị được xác định trước. 
• Trong trường hợp không nhập dữ liệu, 
điều khiển sẽ không thực hiện kiểm tra 
• Thuộc tính: 
– ControlToCompare (ưu tiên) 
– Operator 
– Type 
– ValueToCompare 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 CustomValidator 
• Cho phép người dùng tự viết hàm xử lý 
kiểm tra lỗi. 
• Thuộc tính: 
– ValidateEmptyText(True/False): có 
kiểm tra khi giá trị nhập là rỗng. 
– ClientValidationFunction: tên hàm 
kiểm tra ở mức client. 
• Sự kiện ServerValidate: dùng để xử lý 
kiểm tra dữ liệu ở mức Server. 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 ValidationSummary 
• Dùng để hiển thị bảng lỗi - tất cả các lỗi 
hiện có trên trang Web (thuộc tính 
ErrorMessage). 
• Thuộc tính: 
– HeaderText: chuỗi văn bản của dòng 
tiêu đề. 
– ShowMessageBox (True/False): có 
thể hiện hộp thọai thông báo lỗi trên 
Browser. 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 Ví dụ RequiredFieldValidator, CompareValidator, RegularExpressionValidator 
Bước 1: tạo project như hình bên 
 - ID userName: txtName 
 - ID Birthday: txtBirthday 
 - ID Email: txtEmail 
 - ID Password: txtPassword 
 - ID Confirm PWD: txtConfirmPWD 
 - ID Đăng ký: bRegister 
 - ID Xoá: bReset 
Bước 2: thêm các control Validation vào tương 
ứng 
a. Điều khiển kiểm tra dữ liệu (Validation): 
 Ví dụ RequiredFieldValidator, CompareValidator, RegularExpressionValidator 
Bước 1: tạo project như hình bên 
 - ID userName: txtUser 
 - ID Birthday: txtBirthday 
 - ID Email: txtEmail 
 - ID Password: txtPassword 
 - ID Confirm PWD: txtConfirmPWD 
 - ID Đăng ký: bRegister 
 - ID Xoá: bReset 
Bước 2: thêm các control Validation vào tương 
ứng 
Standard 
Control 
Tên control Validation 
Thuộc tính 
Name Giá trị 
txtName RequiredFieldValidator ID 
ControlToValidate 
ErrorMessage 
rfvName 
txtName 
Nhập họ tên đầy đủ 
txtBirthday CompareValidator ID 
ControlToValidate 
ErrorMessage 
Operator 
Type 
cvBirthday 
txtBirthday 
Nhập đúng định dạng ngày tháng 
DataTypeCheck 
Date 
txtEmail RegularExpressionValidator ID 
ControlToValidate 
ErrorMessage 
ValidationExpression 
revEmail 
txtEmail 
Nhập đúng địa chỉ dạng Email 
Internet email address 
b. Các đối tượng quản lý ứng dụng web: 
• Đối tượng Request và Response 
• Đối tượng Server 
• Đối tượng Cookies 
• Đối tượng Application và Session 
b. Các đối tượng quản lý ứng dụng web: 
 Đối tượng Request và Response 
Mô tả REQUEST RESPONSE 
Ý nghĩa 
Dùng để nhận giá trị từ Client gửi 
về cho Web server thông qua địa 
chỉ URL. 
Được sử dụng để giao tiếp và điều 
phối thông tin giữa Web Server và 
Client (gởi kết quả đến Client). 
Thuộc tính 
trong đối 
tượng 
Request.QueryString*“<Tên_tham
Ít sử dụng 
_số>“+; 
Ví dụ: địa chỉ URL 
http: // [: ] [ 
 [? ] ] 
Ít sử dụng 
Phương thức 
Ít sử dụng Response.Write(“chuỗi") ; 
Response.Redirect(“URL") ; 
In 1 chuỗi ra màn hình phía Client 
Yêu cầu Client truy cập đến URL khác 
b. Các đối tượng quản lý ứng dụng web: 
 Ví dụ sử dụng đối tượng Request và Response: 
~/search.aspx?Kind=Nokia&Content=6600 
Thông tin được 
truyền từ trang 
default.aspx 
 search.spax 
Chuỗi Query String 
b. Các đối tượng quản lý ứng dụng web: 
 Ví dụ sử dụng đối tượng Request và Response: 
~/search.aspx?Kind=Nokia&Content=6600 
Thông tin được 
truyền từ trang 
default.aspx 
 search.spax 
Chuỗi Query String 
 Các bước xây dựng trang default.aspx 
Bước 1: tạo project như hình bên 
 - ID Dropdownlist: cbKind 
 - ID Textbox: txtSearch 
 - ID Button: bSearch 
Bước 2: coding cho trang default.aspx.cs: 
double click vào nút bSearch 
 Các bước xây dựng trang search.aspx 
Bước 1: tạo project như hình bên 
 - ID Label: lSearch 
Bước 2: coding cho trang search.aspx.cs: xử lý 
ở sự kiện Page_Load 
b. Các đối tượng quản lý ứng dụng web: 
 Đối tượng Server: 
• Chức năng: được sử dụng để cung cấp thông tin của 
Web Server cho ứng dụng. 
• Phương thức thường dùng: 
 Server.Transfer(“URL"): ngừng thi hành trang hiện 
hành, gởi yêu cầu mới đến trang khác. 
 Server.MapPath([đối số]): trả về đường dẫn vật lý 
tương ứng với đường dẫn ảo trên Web Server. 
Ví dụ: 
Server.MapPath(""): trả về đường dẫn đến thư mục của trang hiện hành. 
Lưu ý: sử dụng ký hiệu “~” để chỉ đến đường dẫn tương đối 
của một đối tượng và dấu “..” để chỉ đến đường dẫn tuyệt đối 
Server.Transfer(“~/Thongtin/Loithuonggap.aspx") 
b. Các đối tượng quản lý ứng dụng web: 
 Đối tượng Cookies: 
• Chức năng: dùng để lưu trữ thông tin của người dùng tại 
máy Client. 
• Sử dụng đối tượng: 
 Tạo đối tượng Cookies: 
HttpCookie cookName = new HttpCookie("cookName "); 
cookName.Value = "Kiem-tra-Cookie"; 
cookName.Expires = DateTime.Today.AddDays(3) // hết hạn 
 Lưu Cookies vào máy Client: 
Response.Cookies.Add(); 
 Lấy giá trị của Cookies: 
Request.Cookies[“Tên Cookie"].Value; 
b. Các đối tượng quản lý ứng dụng web: 
 Đối tượng Session: 
• Chức năng: lưu trữ thông tin trong một phiên làm việc 
cụ thể khi người dùng kết nối đến Web server lần đầu 
tiên (lưu trữ thông tin trao đổi giữa các trang aspx). 
• Phương thức: 
 Session.Timeout(phút) thời gian duy trì Session, nếu 
người dùng không tương tác với Web Server 
(default=20’). 
 Session.Abandon([đối số]): hủy Session và giải 
phóng tài nguyên cho Web Server. 
• Sử dụng đối tượng: 
 Tạo biến Session: Session[“”] = ; 
 Lấy giá trị của biến Session: =Session[“”]; 
b. Các đối tượng quản lý ứng dụng web: 
 Đối tượng Application: 
• Chức năng: 
 Đối tượng/biến toàn cục, quản lý toàn bộ ứng dụng 
Web (chỉ bị đóng/hủy khi tắt Web Server). 
 Thông tin được lưu trữ trong đối tượng Application 
được “hiểu” ở tất cả các trang aspx trong suốt thời 
gian “sống” của ứng dụng. 
• Sử dụng đối tượng: 
 Tạo biến Application: Application.Lock(); 
 Application[“”] = ; 
 Application.Unlock(); 
 Lấy giá trị của biến Application: =Application[“”]; 

File đính kèm:

  • pdfbai_giang_thiet_ke_va_lap_trinh_web_bang_ngon_ngu_asp_phan_3.pdf