Công nghệ web - 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

pdf20 trang | Chia sẻ: thuychi16 | Lượt xem: 1024 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Công nghệ web - Bài 07: Ứng dụng ASP. NET, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 07: Ứng dụng ASP.NET Lê Quang Lợi Email: loilequang@gmail.com loilq@utehy.edu.vn Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » 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 Bài 07: Ứng dụng ASP.NET Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » ASP.NET (Model, Webpage, Server controls) » Server Object (Cookies, session, Application) » DataBase (SQLDataSource, Display DataControls) » Rick Application (javascript, Jquery, Ajax) » Webservice (WCF) » WebApplication 7.1 Giới thiệu về ASP.NET Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » 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) 7.1 Giới thiệu về ASP.NET Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » 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 ) 7.1 Giới thiệu về ASP.NET Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 7.1 Giới thiệu về ASP.NET H T TP .S V S APP Queue APP Queue ASP.NET ISAPI ASP.NET RunTime Enviornments ASP.NET ISAPI ASP.NET RunTime Enviornments - Request: Yêu cầu trang ASP.NET dựa trên URL/URI - Response: trả về trang mã HTML Request 1 2 3 3 4 4 5 5 6 6 IIS Windows Client Mode Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY » 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 7.2 Mô hình ứng dụng Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 7.2.1 Single Sidle » Mã nguồn trộn lẫn mã HTML » Khó phát triển khó thay đổ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í phát triển lớn <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %> chào Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 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 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 7.2.2 Code Behidle <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=“frm1.aspx.cs" Inherits="WP.WF1" %> ASP.NET <form id="form1" runat="server"> <asp:Button ID=“btn" runat="server“ Text="Button" Click=“btn_Click”/> using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication2{ public partial class WF1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // mã C# } protected void btn_Click(object sender, 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 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 7.2.2 Code Behidle Tuần tự sự kiện trong webpage 1) Initialization() 2) Page_Load() 2.1 Control_Load() 2.2 ControlsEvent: Click, Forcus 3) Render() 4) Unload() request response Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 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 » 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 7.3 Đối tượng cơ bản ASP.NET (Page Class) Lê Quang Lợi: loilequang@gmail.com Môn học : Công nghệ WEB (ASP.NET) CNPM-CNTT-ĐHSPKT HY 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 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 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 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 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(“”);
Tài liệu liên quan