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
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(“”);