Bài giảng lập trình web với asp.net

Mục tiêu • Tìm hiểu môi trường phát triển ứng dụng web với Visual Studio.Net 2005 • Tạo và tổ chức một ứng dụng web đơn giản

pdf386 trang | Chia sẻ: thuychi16 | Lượt xem: 796 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng lập trình web với asp.net, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CÁC KNLTCS PHẦN 1: GIỚI THIỆU 2 2 Ngành lập trình - CSDL Mục tiêu • Xây dựng các trang web động trên môi trường ASP.NET • Xây dựng hoàn chỉnh và triển khai ứng dụng web trên môi trường ASP.NET 3 3 Ngành lập trình - CSDL Nội dung 1. Tổng quan về ASP.Net 2. Server Controls 3. Điều khiển Kiểm tra 4. Các điều khiển dữ liệu 5. User Controls 6. Quản lý ứng dụng Web 7. Web Services 8. Xây dựng hoàn chỉnh UD Web 9. Bảo mật website 10. Triển khai ứng dụng Web 11. Giới thiệu và sử dụng Ajax 4 4 Ngành lập trình - CSDL HẾT 2 2 Ngành lập trình - CSDL Mục tiêu • Tìm hiểu môi trường phát triển ứng dụng web với Visual Studio.Net 2005 • Tạo và tổ chức một ứng dụng web đơn giản 3 3 Ngành lập trình - CSDL Nội dung 1. Tổng quan về lập trình ứng dụng Web 2. Giới thiệu về ASP.Net 3. Tạo ứng dụng web đầu tiên 4. Tổ chức lưu trữ ứng dụng web 5. Làm việc với tập tin cấu hình 4 4 Ngành lập trình - CSDL Tổng quan về lập trình ứng dụng Web • Quá trình Request - Response • Web Server – Web Browser – HTTP • Mô hình ứng dụng    5 5 Ngành lập trình - CSDL • Quá trình Request – Response Bài 1: Tổng quan về ASP.NET Tổng quan về lập trình ứng dụng Web Web Browser Web Server Http Request Http Response Internet 6 6 Ngành lập trình - CSDL • Web Server – Web Browser – HTTP − Web Server nhận và điều phối các yêu cầu từ Web Browser và gởi kết quả − Web Browser thể hiện dữ liệu, tập hợp dữ liệu của người dùng và gởi đến Web Server − HTTP dùng để trao đổi thông tin giữa Web Browser với Web Server Bài 1: Tổng quan về ASP.NET Tổng quan về lập trình ứng dụng Web 7 7 Ngành lập trình - CSDL • Web Server – Web Browser – HTTP Bài 1: Tổng quan về ASP.NET Tổng quan về lập trình ứng dụng Web Web Browser Web Server Client gởi yêu cầu 1. Xử lý yêu cầu 2. Thi hành code 3. Lưu trữ dữ liệu 4. Gởi kết quả Thể hiện lên trang web Default.aspx Server hồi đáp 8 8 Ngành lập trình - CSDL • Mô hình ứng dụng Bài 1: Tổng quan về ASP.NET Tổng quan về lập trình ứng dụng Web 9 9 Ngành lập trình - CSDL Nội dung 1. Tổng quan về lập trình ứng dụng Web 2. Giới thiệu về ASP.Net 3. Tạo ứng dụng web đầu tiên 4. Tổ chức lưu trữ ứng dụng web 5. Làm việc với tập tin cấu hình 10 10 Ngành lập trình - CSDL Giới thiệu về ASP.NET • Tìm hiểu về ASP.Net • Một số các đặc điểm của ASP.NET • Quá trình xử lý trang ASPX    11 11 Ngành lập trình - CSDL • Tìm hiểu về ASP.Net − ASP.NET trong .Net Framework Bài 1: Tổng quan về ASP.NET Giới thiệu về ASP.Net Operating System Common Language Runtime Base Class Library ADO .NET and XML ASP .NET Web Forms - Web Services Mobile Internet Toolkit Windows Forms Common Language Specification VB C++ C# J# 12 12 Ngành lập trình - CSDL • Tìm hiểu về ASP.Net − Hệ thống namespace Bài 1: Tổng quan về ASP.NET Giới thiệu về ASP.Net System System.Data System.Xml System.Web Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess Security Common OleDb SQLTypes SqlClient XPath XSLT Runtime InteropServices Remoting Serialization Serialization Configuration SessionState Caching Security Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.Windows.Forms Design ComponentModel 13 13 Ngành lập trình - CSDL • Tìm hiểu về ASP.Net − ASP.Net là kỹ thuật lập trình và phát triển ƯD web ở phía Server trên môi trường Visual Studio .Net Bài 1: Tổng quan về ASP.NET Giới thiệu về ASP.Net 14 14 Ngành lập trình - CSDL • Một số đặc điểm về ASP.Net − Trang Asp.Net được biên dịch trước, thành tập tin DLL mà Server có thể thi hành − Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser − Hỗ trợ các ngôn ngữ khác nhau trong cùng một ứng dụng − Bài 1: Tổng quan về ASP.NET Giới thiệu về ASP.Net 15 15 Ngành lập trình - CSDL • Quá trình xử lý trang aspx Bài 1: Tổng quan về ASP.NET Giới thiệu về ASP.Net Trang dạng .DLL Khởi tạo, xử lý và Render Biên dịch ASPX File Yêu cầu ASPX Engine Phân tích cú pháp Hồi đáp Yêu cầu Khởi tạo Hồi đáp Code- behind class Generated Page Class Phát sinh 16 16 Ngành lập trình - CSDL Nội dung 1. Tổng quan về lập trình ứng dụng Web 2. Giới thiệu về ASP.Net 3. Tạo ứng dụng web đầu tiên 4. Tổ chức lưu trữ ứng dụng web 5. Làm việc với tập tin cấu hình 17 17 Ngành lập trình - CSDL Tạo ứng dụng web đầu tiên • Khởi động MS Visual Studio .Net • Tạo mới một ứng dụng web • Làm quen với các thành phần giao diện    18 18 Ngành lập trình - CSDL • Khởi động MS Visual Studio .Net Bài 1: Tổng quan về ASP.NET Tạo ứng dụng web đầu tiên 19 19 Ngành lập trình - CSDL • Tạo mới một ứng dụng − Tạo một ứng dụng nhỏ với một câu chào − Các kiểu Web site (Web Site Types): • File System: không cần cài đặt IIS, VS 2005 sẽ cung cấp web server riêng khi ta thi hành ứng dụng • Local HTTP: phải có IIS và khai báo URL đã được ánh xạ • FTP: sử dụng giao thức truyền file để quản lý các tập tin trong web site Bài 1: Tổng quan về ASP.NET Tạo ứng dụng web đầu tiên 20 20 Ngành lập trình - CSDL • Tạo mới một ứng dụng − Lưu trang web với font Unicode, trang web có phần mở rộng: aspx (file giao diện) và aspx.cs (file code-behind) − Xác định trang khởi động − Thi hành ứng dụng Bài 1: Tổng quan về ASP.NET Tạo ứng dụng web đầu tiên 21 21 Ngành lập trình - CSDL • Làm quen với các thành phần giao diện − Minh họa trên môi trường VS.Net 2005 Bài 1: Tổng quan về ASP.NET Tạo ứng dụng web đầu tiên 22 22 Ngành lập trình - CSDL Nội dung 1. Tổng quan về lập trình ứng dụng Web 2. Giới thiệu về ASP.Net 3. Tạo ứng dụng web đầu tiên 4. Tổ chức lưu trữ ứng dụng web 5. Làm việc với tập tin cấu hình 23 23 Ngành lập trình - CSDL Tổ chức lưu trữ ứng dụng web • Giới thiệu các thư mục do ASP.Net cung cấp − App_Data − App_Code −  24 24 Ngành lập trình - CSDL • Tổng quát − ASP.Net cung cấp một số tên tập tin và thư mục dùng để phục vụ việc tổ chức lưu trữ một ứng dụng, trong đó: • Default page: tự động thi hành khi người dùng nhập tên miền • Application folders: dùng để lưu trữ các tập tin có phần mở rộng tương ứng với ý nghĩa của thư mục lưu trữ Bài 1: Tổng quan về ASP.NET Tổ chức lưu trữ ứng dụng 25 25 Ngành lập trình - CSDL • Giới thiệu một số thư mục thường dùng − App_Data: lưu trữ tập tin dữ liệu như .mdb, .mdf, .xml, − App_Code: lưu trữ các tập tin chứa source code, có phần mở rộng .vb, .cs, − App_Themes: lưu trữ các tập tin dùng để tạo giao diện chung theo chủ đề, thường có phần mở rộng .skin, .css hoặc các file hình ảnh Bài 1: Tổng quan về ASP.NET Tổ chức lưu trữ ứng dụng 26 26 Ngành lập trình - CSDL • Thao tác tạo các thư mục − Trên thực đơn: chọn Website  Add ASP.NET Folder  chọn thư mục cần tạo Bài 1: Tổng quan về ASP.NET Tổ chức lưu trữ ứng dụng 27 27 Ngành lập trình - CSDL Nội dung 1. Tổng quan về lập trình ứng dụng Web 2. Giới thiệu về ASP.Net 3. Tạo ứng dụng web đầu tiên 4. Tổ chức lưu trữ ứng dụng web 5. Làm việc với tập tin cấu hình 28 28 Ngành lập trình - CSDL Làm việc với tập tin cấu hình • Tập tin cấu hình – Configuration files • Xử lý tập tin cấu hình • Cập nhật tập tin cấu hình    29 29 Ngành lập trình - CSDL • Tập tin cấu hình – Configuration files − Dùng để khai báo các thông số mặc định cho ứng dụng, có dạng XML − Tập tin cấu hình đầu tiên là Machine.config, được đặt trong thư mục Configuration của máy − Machine.config cấu hình cho tất cả các ứng dụng .NET như Windows, Console, Web Application, Bài 1: Tổng quan về ASP.NET Làm việc với tập tin cấu hình 30 30 Ngành lập trình - CSDL • Tập tin cấu hình – Configuration files − Web.config gốc chứa các khai báo mặc định của Web Server, nằm trong cùng thư mục với Machine.config − Web.config có thể ghi đè lên một số khai báo trong Machine.config − Trong mỗi ứng dụng và các thư mục con của ứng dụng Web có thể có tập tin Web.config riêng Bài 1: Tổng quan về ASP.NET Làm việc với tập tin cấu hình 31 31 Ngành lập trình - CSDL • Xử lý tập tin cấu hình − Khi ứng dụng Web được thi hành, sẽ cache các khai báo theo trình tự như sau: Bài 1: Tổng quan về ASP.NET Làm việc với tập tin cấu hình 32 32 Ngành lập trình - CSDL • Xử lý tập tin cấu hình Bài 1: Tổng quan về ASP.NET Làm việc với tập tin cấu hình Web.config trong t.mục /ManHinh/SanPham Web.config trong t.mục /ManHinh/QuanTri Web.config trong t.mục /ManHinh Web.config trong t.mục /gốc Web.config trong t.mục Configuraton Machine.config trong t.mục Configuraton Subdirectories * Web App * Root Default Web Global machine 33 33 Ngành lập trình - CSDL • Cập nhật tập tin cấu hình − Mở tập tin và cập nhật trực tiếp Hoặc − Dùng Web Site Administrator Tool do VS 2005 cung cấp, thao tác: • Trên thực đơn chọn: Website  ASP.NET Configuation Bài 1: Tổng quan về ASP.NET Làm việc với tập tin cấu hình 34 34 Ngành lập trình - CSDL HẾT Bài 1: Tổng quan về ASP.NET 1 1 Ngành lập trình - CSDL 2 2 Ngành lập trình - CSDL Mục tiêu • Sử dụng thành thạo các điều khiển: − HTML Server Controls − Web Server Controls − Specialized Controls • Các sự kiện cơ bản trên trang .aspx • Làm việc với đối tượng ViewState 3 3 Ngành lập trình - CSDL Nội dung 1. Tổng quan về ASP.Net Server Controls 2. Đối tượng Asp.Net Page 4. Web Server Controls 5. Các điều khiển khác 6. Đối tượng ViewState 3. HTML Server Controls 4 4 Ngành lập trình - CSDL Tổng quan về ASP.NET Server Controls • Giới thiệu các nhóm điểu khiển trên thanh Toolbox • Các kiểu Server Control   5 5 Ngành lập trình - CSDL • Giới thiệu các nhóm điều khiển trên thanh ToolBox Bài 2: Server Controls Tổng quan về ASP.NET Server Controls 6 6 Ngành lập trình - CSDL • Các kiểu Server Controls − HTML Server Controls − Web Server Controls Bài 2: Server Controls Tổng quan về ASP.NET Server Controls 7 7 Ngành lập trình - CSDL • Khi nào sử dụng HTML Server Control − Điều khiển cần phải có đoạn JavaScript kèm theo sự kiện − Có nhiều code JavaScript tham chiếu đến điều khiển đó • Khi nào sử dụng Web Server Control − Không rơi vào các trường hợp trên Bài 2: Server Controls Tổng quan về ASP.NET Server Controls 8 8 Ngành lập trình - CSDL Nội dung 1. Tổng quan về Server Controls 2. Đối tượng Asp.Net Page 4. Web Server Controls 5. Các điều khiển khác 6. Đối tượng ViewState 3. HTML Server Controls 9 9 Ngành lập trình - CSDL ASP.NET Page • Sự kiện • Thuộc tính   10 10 Ngành lập trình - CSDL • Sự kiện − Trình tự các sự kiện xảy ra khi render một trang web (Page Life-Cycle Events) Bài 3: Server Controls ASP.NET Page 11 11 Ngành lập trình - CSDL Bài 3: Server Controls ASP.NET Page Page_PreInit() Page_Init() Page_IntComplete() Page_PreLoad() Page_Load() Page_UnLoad() Page_PreRender() Thuờng dùng: kiểm tra trang có Postback không, tạo Theme động, Master động, điều khiển động Thuờng dùng để đọc hoặc đặt giá trị thuộc tính cho điều khiển Cài đặt các xử lý khởi động ban đầu, thường dùng tạo connection Xảy ra trước khi trang web được render, trả kết quả về cho Client Nếu có PostBack thì phát sinh sự kiện của điều khiển, như Click của Button, Minh họa 12 12 Ngành lập trình - CSDL • Thuộc tính − IsPostBack (True/False): trả về trạng thái của trang web, cho biết được load lần đầu tiên hay không − MaintainScrollPositionOnPostBack (True/False): có giữ nguyên vị trí mà người dùng đang đọc sau khi PostBack không Bài 3: Server Controls ASP.NET Page 13 13 Ngành lập trình - CSDL Nội dung 1. Tổng quan về Server Controls 2. Đối tượng Asp.Net Page 4. Web Server Controls 5. Các điều khiển khác 6. Đối tượng ViewState 3. HTML Server Controls 14 14 Ngành lập trình - CSDL HTML Server Controls • HTML Controls • HTML Server Controls   15 15 Ngành lập trình - CSDL • HTML Controls − Được tạo ra từ tag HTML tĩnh − Thường được sử dụng lập trình ở phía client − Thuộc tên miền System.Web.UI.HtmlControls Bài 2: Server Controls HTML Server Controls Minh họa 16 16 Ngành lập trình - CSDL • HTML Server Controls − Sử dụng HTML Controls trong quá trình lập trình ở phía server, ta thực hiện như sau:  Bổ sung thuộc tính runat=“server” vào tag điều khiển  Hoặc chọn chức năng Run As Server Control từ thực đơn ngữ cảnh − Điểu khiển có thuộc tính runat=“server” gọi là HTML Server Controls Bài 2: Server Controls HTML Server Controls Minh họa 17 17 Ngành lập trình - CSDL Nội dung 1. Tổng quan về Server Controls 2. Đối tượng Asp.Net Page 4. Web Server Controls 5. Các điều khiển khác 6. Đối tượng ViewState 3. HTML Server Controls 18 18 Ngành lập trình - CSDL Web Server Controls • Giới thiệu • Label • HyperLink • TextBox • Image • Button, ImageButton, LinkButton • CheckBox, RadioButton        19 19 Ngành lập trình - CSDL • Giới thiệu − Web Server Controls là các đối tượng của .Net Framework − Được chuyển đổi sang dạng HTML tĩnh lúc thực thi − Thường được sử dụng lập trình ở phía server − Thuộc tên miền System.Web.UI.WebControls − HTML Source lúc thiết kế có dạng: Bài 2: Server Controls Web Server Controls 20 20 Ngành lập trình - CSDL • Label − Dùng để hiển thị thông tin − Thuộc tính Text có thể nhận và hiển thị nội dung với các tag HTML. Bài 2: Server Controls Web Server Controls Minh họa 21 21 Ngành lập trình - CSDL • TextBox − Dùng để nhập và hiển thị dữ liệu − Text: nội dung chứa trong TextBox − TextMode (SingleLine,MultiLine,Password ): định dạng hiển thị của Textbox. − Wrap: có được phép tự động xuống dòng hay không Bài 2: Server Controls Web Server Controls Minh họa 22 22 Ngành lập trình - CSDL • HyperLink − Dùng để tạo ra các liên kết siêu văn bản − ImageURL: hình ảnh hiển thị trên điều khiển (ưu tiên) − Text: chuỗi văn bản hiển thị trên điều khiển. − NavigateUrl: đường dẫn cần liên kết đến − Target(_blank, _self, _parent): dạng cửa sổ hiển thị trang kết quả Bài 2: Server Controls Web Server Controls Minh họa 23 23 Ngành lập trình - CSDL • Image − Dùng để hiển thị hình ảnh − ImageURL: đường dẫn đến tập tin hình ảnh cần hiển thị. − AlternateText: chuỗi văn bản sẽ hiển thị khi đường dẫn của thuộc tính ImageURL không tồn tại. Bài 2: Server Controls Web Server Controls Minh họa 24 24 Ngành lập trình - CSDL • Button, LinkButton, ImageButton − Sẽ PostBack về server khi được chọn − CausesValidation(True/False): có kiểm tra tính hợp lệ trên trang web không − OnClientClick: ngôn ngữ Client-side script sẽ được thi hành ở mức client Bài 2: Server Controls Web Server Controls Minh họa 25 25 Ngành lập trình - CSDL • CheckBox và RadioButton − Checked: cho biết trạng thái của điều khiển có được chọn hay không − TextAlign: qui định vị trí hiển thị của điều khiển so với chuỗi văn bản − GroupName: nhóm các điều khiển thành một nhóm, dành cho RadioButton Bài 2: Server Controls Web Server Controls Minh họa 26 26 Ngành lập trình - CSDL Nội dung 1. Tổng quan về Server Controls 2. Đối tượng Asp.Net Page 4. Web Server Controls 5. Các điều khiển khác 6. Đối tượng ViewState 3. HTML Server Controls 27 27 Ngành lập trình - CSDL Các điều khiển khác • Panel và PlaceHolder • Table • Calendar • FileUpLoad • View, MultiView      28 28 Ngành lập trình - CSDL • Panel, PlaceHolder − Được sử dụng để chứa các điều khiển khác − Điều khiển Panel cho phép đặt những điều khiển khác vào bên trong lúc thiết kế còn PlaceHolder thì không − Xử lý thêm điều khiển khác vào lúc thực thi: TextBox txtSo_A = new TextBox(); .Controls.Add(txtSo_A); Bài 2: Server Controls Các điều khiển khác Minh họa 29 29 Ngành lập trình - CSDL • Table − Dùng để thao tác, thể hiện dữ liệu dưới dạng bảng − Bao gồm tập hợp các dòng - TableRow (thông qua thuộc tính Rows), mỗi dòng được tạo thành từ tập hợp các ô - TableCell (thông qua thuộc tính Cells) − Mỗi ô trong Table có thể chứa các điều khiển khác Bài 2: Server Controls Các điều khiển khác Minh họa 30 30 Ngành lập trình - CSDL • Calendar − Dùng để thể hiện lịch trong tháng − Sự kiện:  SelectionChanged: khi thay đổi ngày khác  VisbleMonthChanged: khi thay đổi tháng khác  DayRender: khi các ngày được tạo ra Bài 2: Server Controls Các điều khiển khác Minh họa 31 31 Ngành lập trình - CSDL • FileUpLoad − Dùng để upload tập tin về server − Thuộc tính: • HashFile (True/False): điều khiển có khai báo tập tin chưa • FileName: trả về tên tập tin được upload − Phương thức: • SaveAs: upload tập tin lên Server Bài 2: Server Controls Các điều khiển khác Minh họa 32 32 Ngành lập trình - CSDL • MultiView và View − Là control container, dùng để chứa các điều khiển khác − MultiView gồm có nhiều View − Thuộc tính: • ActiveViewIndex: chỉ số của view hiện hành − Phương thức: • SetActiveView: thay đổi view hiện hành Bài 2: Server Controls Các điều khiển khác Minh họa 33 33 Ngành lập trình - CSDL Nội dung 1. Tổng quan về Server Controls 2. Đối tượng Asp.Net Page 4. Web Server Controls 5. Các điều khiển khác 6. Đối tượng ViewState 3. HTML Server Controls 34 34 Ngành lập trình - CSDL Đối tượng ViewState • Giới thiệu • Sử dụng   35 35 Ngành lập trình - CSDL • Giới thiệu − Dùng để lưu lại những thông tin của trang web sau khi Web Server gởi kết quả về cho client  Quản lý tình trạng ở mức client − Thuộc tính EnableViewState của trang web cho phép sử dụng đối tượng này hay không (True/False) Bài 2: Server Controls Đối tượng ViewState Minh họa 36 36 Ngành lập trình - CSDL • Sử dụng:  Gán giá trị cho ViewState: ViewState[“Tên trạng thái”] = ;  Nhận giá trị: = ViewState[“Tên trạng thái”]; Lưu ý: “Tên trạng thái” có phân biệt chữ HOA/thường Bài 2: Server Controls Đối tượng ViewState Minh họa 37 37 Ngành lập trình - CSDL HẾT Bài 2: Server Controls 1 1 Ngành lập trình - CSDL 2 2 Ngành lập trình - CSDL Mục tiêu • Sử dụng thành thạo các điều khiển kiểm tra dữ liệu 3 3 Ngành lập trình - CSDL Nội dung 1. Giới thiệu chung 2. RequireFieldValidator 4. RangeValidator 5. RegularExpressionValidator 6. CustomValidator 3. CompareValidator 7. ValidationSummary 4 4 Ngành lập trình - CSDL • Dùng để kiểm tra tính hợp lệ của dữ liệu • Tự động phát sinh code kiểm tra dữ liệu ở client-side tùy thuộc vào web browser có hỗ trợ thực thi script ở client không Bài 3: Điều khiển kiểm tra dữ liệu Giiới thiệu 5 5 Ngành lập trình - CSDL • Qui trình kiểm tra: Bài 3: Điều khiển kiểm tra dữ liệu Giiới thiệu Dữ liệu nhập Hợp lệ? Hợp lệ? Các xử lý Không Có Client Server Có Không 6 6 Ngành lập trình - CSDL • Một số thuộc tính cơ bản − ControlToValidate: tên điều khiển cần kiểm tra − Text: chuỗi thông báo xuất hiện khi có lỗi − ErrorMessage: chuỗi thông báo xuất hiện trong điều khiển Validation Summary − EnableClientScript: cho phép thực hiện kiểm tra ở phía Client hay không (True/False) Bài 3: Điều khiển kiểm tra dữ liệu Giới thiệu 7 7 Ngành lập trình - CSDL • Một số thuộc tính cơ bản − SetFocusError(True/False): đặt con trỏ vào điều khiển khi dữ liệu không hợp lệ − ValidationGroup: tên nhóm. Nhóm các điều khiển có cùng giá trị ValidationGroup Bài 3: Điều khiển kiểm tra dữ liệu Giới thiệu 8 8 Ngành lập trình - CSDL Nội dung 1. Giới thiệu chung
Tài liệu liên quan