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 Khai Phong

pdf 45 trang ngocly 70
Bạn đang xem 20 trang mẫu của 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 Khai Phong", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_thiet_ke_va_lap_trinh_web_bang_ngon_ngu_asp_phan_3.pdf

Nội dung text: 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 Khai Phong

  1. Lý thuyết: 45 tiết Thực hành: 30 tiết • GVHD: Dương Khai Phong • Email: khaiphong@gmail.com • Website:
  2. 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
  3. PHẦN 3:
  4. 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
  5. 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#.
  6. 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. Phân tích Code Yêu cầu Cú pháp Behind ASPX ASPX Phát sinh Yêu cầu Class File Engine Biên dịch Generate Hồi đáp Page Class Trang Hồi đáp dạng Khởi tạo,xử lý *.dll và Render
  7. 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ữ.
  8. Cấu trúc website ASP.Net Cửa sổ viết code và design Cửa sổ chứa các đối tượng và control Cửa sổ thuộc tính
  9. 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)
  10. c. Ví dụ (viết code trực tiếp trong trang aspx). Đoạn code bằng C# viết Địa chỉ thực hiện trang aspx trực tiếp trong trang aspx
  11. c. Ví dụ (viết code trong trang code behind aspx.cs). KẾT QUẢ VẪN KHÔNG ĐỔI
  12. 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# •
  13. 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 Số nguyên có dấu từ -32768 đến 32767 Int16 2 ushort Số nguyên không dấu từ 0 đến 65.535 int Số nguyên có dấu –2.147.483.647 đến 2.147.483.647 Int32 4 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.
  14. 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.
  15. 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: Chứa các control thao Label,Textbox,Button tác với dữ liệu Chứa các control điều Chứa control kiểm tra hướng trong trang web tính hợp lệ của 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
  16. 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 PreRenderCompelte PreRender LoadComplete SaveStateComplete Unload
  17. 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
  18. c. Các điều khiển chuẩn (Standard Control):
  19.  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
  20.  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 Bước 4: xử lý sự kiện phía client bằng javascript như sau: 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
  21.  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 Bước 4: xử lý sự kiện phía client bằng javascript như sau: 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
  22.  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.
  23.  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.
  24. 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.
  25. 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 Không Hợp lệ? Client Server Không Hợp lệ? Các xử lý
  26. 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.
  27. 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
  28. 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
  29. 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)
  30. 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.
  31. 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
  32. 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.
  33. 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.
  34. 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
  35. a. Điều khiển kiểm tra dữ liệu (Validation):  Ví dụ RequiredFieldValidator, CompareValidator, RegularExpressionValidator Standard Thuộc tính Tên control Validation Control Bước 1: tạo project như hình bên Name - ID userName: txtUser Giá trị txtName RequiredFieldValidator ID - ID Birthday:rfvName txtBirthday ControlToValidate - ID Email: txtEmailtxtName ErrorMessage - ID Password:Nhập txtPassword họ tên đầy đủ - ID Confirm PWD: txtConfirmPWD txtBirthday CompareValidator ID - ID Đăng ký:cvBirthday bRegister ControlToValidate - ID Xoá: bResettxtBirthday ErrorMessage Nhập đúng định dạng ngày tháng Operator Bước 2: thêm cácDataTypeCheck control Validation vào tương Type ứng Date txtEmail RegularExpressionValidator ID revEmail ControlToValidate txtEmail ErrorMessage Nhập đúng địa chỉ dạng Email ValidationExpression Internet email address
  36. 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
  37. b. Các đối tượng quản lý ứng dụng web:  Đối tượng Request và Response Mô tả REQUEST RESPONSE Dùng để nhận giá trị từ Client gửi Được sử dụng để giao tiếp và điều Ý nghĩa về cho Web server thông qua địa phối thông tin giữa Web Server và chỉ URL. Client (gởi kết quả đến Client). Request.QueryString*“ “+; trong đối Ví dụ: địa chỉ URL tượng http: // [: ] [ [? ] ] In 1 chuỗi ra màn hình phía Client Ít sử dụng Response.Write(“chuỗi") ; Phương thức Response.Redirect(“URL") ; Yêu cầu Client truy cập đến URL khác
  38. b. Các đối tượng quản lý ứng dụng web: . Ví dụ sử dụng đối tượng Request và Response: Chuỗi Query String ~/search.aspx?Kind=Nokia&Content=6600 Thông tin được truyền từ trang default.aspx search.spax
  39. b. Các đối tượng quản lý ứng dụng web: . Ví dụ sử dụng đối tượng Request và Response: Chuỗi Query String ~/search.aspx?Kind=Nokia&Content=6600 Thông tin được truyền từ trang default.aspx search.spax
  40.  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
  41.  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
  42. 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.Transfer(“~/Thongtin/Loithuonggap.aspx") 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
  43. 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;
  44. 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[“ ”];
  45. 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[“ ”];