Bài giảng Công nghệ Web - Bài 07: Ứng dụng ASP.NET

pdf 20 trang phuongnguyen 3770
Bạn đang xem tài liệu "Bài giảng Công nghệ Web - Bài 07: Ứng dụng ASP.NET", để 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_cong_nghe_web_bai_07_ung_dung_asp_net.pdf

Nội dung text: Bài giảng Công nghệ Web - Bài 07: Ứng dụng ASP.NET

  1. Bài 07: Ứng dụng ASP.NET Lê Quang Lợi Email: loilequang@gmail.com loilq@utehy.edu.vn
  2. Bài 07: Ứng dụng ASP.NET » Giới thiệu về ASP.NET » Mô hình phát triển trong ASP.NET » Webpage trong ASP.NET » Cú pháp ASP.NET » Đối tượng trong ASP.NET Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  3. 7.1 Giới thiệu về ASP.NET » ASP.NET (Model, Webpage, Server controls) » Server Object (Cookies, session, Application ) » DataBase (SQLDataSource, Display DataControls) » Rick Application (javascript, Jquery, Ajax) » Webservice (WCF) » WebApplication Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  4. 7.1 Giới thiệu về ASP.NET » ASP.NET chạy trên IIS của hệ điều hành Windows » ASP.NET Cho phép phát triển ứng dụng trên Internet . WebForm: Chạy trên các nền Webserver (IIS) . MobileWeb: Chạy trên các thiết bị tài nguyên hạn chế . WebService: dịch vụ cung cấp và xử lý dữ liệu » Cung cấp cách phát triển ứng dụng đa người dùng » Cấu trúc : Server site + Client Site . Server site PlatForm: WebServer(IIS) + Server Language . Client Site: HTML + CSS + Javascript (DOM+ jQurey + Ajax) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  5. 7.1 Giới thiệu về ASP.NET » Dựa trên DotNET thừa hưởng mọi hỗ trợ từ DotNET » Thế hệ kế tiếp của ASP (Active Server Page) hay ASP+ Phiên bản: 1.0, 2.0, 3.0, 3.5, 4.0 sắp tới 4.5 » Mô hình: SingleCode, code Behide, MVC » Linh động, dễ triển khai, dễ phát triển » Một trong các công nghệ web động mạnh mẽ » ASP.NET (page, server controls, Webservice, Ajax ) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  6. 7.1 Giới thiệu về ASP.NET Client Mode 2 6 Request 1 4 APP Queue ASP.NET 3 ISAPI 5 3 ASP.NET HTTP.SVS APP Queue RunTime - Request: Yêu cầu 6 Enviornments trang ASP.NET dựa 4 5 trên URL/URI - Response: trả về trang mã HTML ASP.NET ISAPI ASP.NET RunTime Enviornments IIS Windows Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  7. 7.2 Mô hình ứng dụng » Single Site: Web Page: Client Script kết hợp Sever script » Code Behide: Server Script tách biệt Client Script (Thay thế/Cải tiến từ mô hình Single Site) » MVC(Model + View + Controls) * Tách biệt * Dễ triển khai/ thay đổi/bảo trì * Dễ đào tạo * Kiến trúc khoa học Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  8. 7.2.1 Single Sidle » Mã nguồn trộn lẫn mã đổi/kiếm soát lỗi » Khó: bảo trì, mở rộng, thay đổi » Tốc độ chậm » Chi phí: thời gian + kinh phí chào phát triển lớn Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  9. 7.2.1 Single Sidle » Cú pháp: hoặc server code Ví dụ: » In giá trị: hoặc Response.Write(“string”); ví dụ: » Bind dữ liệu: Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  10. 7.2.2 Code Behidle » Thiết kế tách biệt lập trình » Dễ phát triển » Dễ bảo trì + nâng cấp » Dựa trên Template » Trang ASPX(ASPX.CS + ASPX) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  11. 7.2.2 Code Behidle namespace WebApplication2{ ASP.NET public partial class WF1 : System.Web.UI.Page { sender, EventArgs e) { EventArgs e) { // mã C# } } } Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  12. 7.2.2 Code Behidle » WebForm: Giao diện Web Cụ thể dựa trên controls » WebForm : HTML tags + ServerControl tags » Server Script: viết trong trang ASPX.CS . Chứa các sự kiện của trang ASPX: Load, UnLoad . Sự kiện các điều khiển: Click, SelectedChange . Điều khiển toàn bộ hoạt động của trang(sự kiện) . Cài đặt thực thi các nghiệp vụ Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  13. 7.2.2 Code Behidle Tuần tự sự kiện trong webpage 1) Initialization() 2) Page_Load() request 2.1 Control_Load() 2.2 ControlsEvent: Click, Forcus 3) Render() response 4) Unload() Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  14. 7.2.2 Code Behidle protected void Page_Load(object sender, EventArgs e) { // mã C# sự kiện load Webform } » Xuất hiện khi: trang được hiển thị » Hỗ trợ: . Tương tác CSDL: cung cấp dữ liệu cho trang . Thiết lập dữ lệu/giá trị cho controls . Kiểm tra hợp lệ và trạng thái đăng nhập Chú ý: Boolean Page.IsPostBack; // True nếu được triệu gọi lại Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  15. 7.3 Đối tượng cơ bản ASP.NET (Page Class) » Page:Lưu trữ thông tin của trang hiện tại » Điều khiển hoạt động của trang dựa trên sự kiện » Chứa Request và Response: giao tiếp web brower . Request: Nhận dữ liệu từ Client qua POST/GET . Response: Trả dữ liệu HTML về phía Client qua HTTP . Server: chứa các thông tin về phía server Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  16. 7.3.1 server » Truy cập các thuộc tính/phương thức ứng dụng web » Thuộc tính: MachinName » Phương thức: Phương thức Mô tả CreateObject Tạo một object Execute Thực thi file ASPX trong ứng dụng GetLastError() lấy về mã lỗi lần sau cùng khi chạy HTMLEncode Thiết lập/lấy về mã Endcoding MapPath Đường dẫn vật lý Transfer chuyển trang trong ASP.NET Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  17. 7.3.2 Request (instream) » Luồng nhập dữ liệu ứng dụng Web » Chứa dữ liệu từ phía Brower gửi lên » Thuộc tính: . Brower: thông tin về trình duyệt . Cookies: chứa các cookie . Filepath: đường dẫn file được Upload . Files: Các file được Upload . InputStream: luồng nhập dữ liệu nhị phân . Form: lấy dữ liệu gửi với method=“post” . QueryString: lấy dữ liệu gửi với method=“get” » Phương thức: . BinaryRead, SaveAs . MapPath: ứng dụng web Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  18. 7.3.3 Response (outStream) » Chứa các thông tin về luồng xuất dữ liệu » Kế thừa từ luồng OutputStream » Thuộc tính: Output, OutputStream, Cookies, Cache, Buffer, » Phương thức: . Redrect, RedrectURL: chuyển trang . Write, BinaryWrite, WriteFile: Ghi dữ liệu cho Brower . SetCookies: Thiết lập Cookies . TransmitFile: truyền file Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  19. 7.3.4 Tương tác với Giao diện Web » Nhận dữ liệu từ các controls: . tenControls.Thành phần: string name1=txtname.Text; . var a = Request.Form[index/key];dữ liệu theo Post . var b = Request.QueryString[index/key]: dữ liệu theo Get Ví dụ: string txtname=Request.QueryString*“name”+; » Xuất dữ liệu: . TenControl.Thuộc tính = giá trị; . In giá trị: . Response.Write(“chuỗi”); . Binding Trường: Ví dụ: txtName.text=“ASP.NET”; Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY
  20. 7.3.5 Chuyển trang trong ASP.NET » Chuyển xử lý từ trang hiện tại sang trang mới » Chuyển toàn bộ dữ liệu : name=giá trị » Chuyển trang dùng Response Response.Redirect(URL) » Chuyển trang dùng Server Server.Tranfer(URL) Ví dụ: server.Tranfer(“ ”); Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY