Xem mẫu
- 5/10/2013
CHƯƠNG IV: Lớp Http Request
CÁC LỚP SỬ DỤNG Request là một thể hiện của lớp HttpRequest,
Browser dùng Request object để gửi thông tin
TRONG ASP.NET cần thiết tới Server
Data
1 2
Lớp Http Request Lớp Http Request
Đối tượng Request nhận tất cả giá trị mà trình Các thuộc tính
duyệt của client gởi đến server thông qua HTTP RequestType: trả về phương thức truyền dữ
request. liệu từ client đến server gồm 2 phương thức
Request đại diện cho Client khi yêu cầu trang POST và GET
Web, Server sẽ dùng vừa Response vừa Cú pháp
Request để đáp ứng yêu cầu hay đòi hỏi thông
tin từ Client. valMethode=Request.RequestType;
3 4
1
- 5/10/2013
Lớp Http Request Lớp Http Request
1. Tập hợp Form (Form collection ) Ví dụ:
Form collection đựơc sử dụng để tập hợp dữ
txtUser
liệu được chứa trong các phần tử của form
chuyển từ client đến server bằng phương thức txtPwd
POST.
Default.aspx
Lấy dữ liệu từ các phần tử của form:
Cú pháp
- 5/10/2013
Lớp Http Request Lớp Http Request
Keys[i]: trả về tên của phần tử tại vị trí thứ i, Ví dụ:
trong đó i có giá trị từ 0 đến n-1
9 10
Lớp Http Request Lớp Http Request
2. Tập hợp QueryString Có 3 cách truyền tham số và gọi file xử lý
(QueryStringCollection)
Cách 1 : dùng action , tham số truyền qua
Request.QueryString dùng để lấy dữ liệu phần tử của form
được gửi từ client đến server bằng phương
thức GET hoặc truyền dữ liệu có chứa tag
liên kết Hyperlink.
Các phần tử của form
QueryString được định nghĩa là chuỗi nằm
sau dấu ? trong chuỗi URL (Uniform Resource
Locator) trên phần Address của trình duyệt.
11 12
3
- 5/10/2013
Lớp Http Request Lớp Http Request
Cách 2 : dùng action , tham số ghi sau dấu ? Cách 3 : dùng chuỗi link , tham số ghi sau dấu ?
Text hoặc image
Các phần tử của form
Các tham số được khai báo cách nhau bởi dấu &,
giá trị của mỗi tham số đặt sau dấu =
13 14
Lớp Http Request Lớp Http Request
Nếu tham số không có giá trị thì giá trị trả về Lấy dữ liệu từ các phần tử của form hay
:
của tham số khi sử dụng Request.QueryString
Cú pháp:
là NULL.
Với 3 cách truyền dữ liệu từ Client nêu trên,
phía Server sẽ dùng tập hợp QueryString để Request.QueryString[“varName”];
nhận dữ liệu
15 16
4
- 5/10/2013
Lớp Http Request Lớp Http Request
Các thuộc tính của QueryStringCollection: Keys[i]: trả về tên của phần tử tại vị trí thứ i,
Count: trả về số phần tử của form chuyển từ trong đó i có giá trị từ 0 đến n-1 với
client đến server n=Request.QueryString.Count
Cú pháp: Cú pháp:
Numelement=Request.QueryString.Count;
Varfield=Request.QueryString.Keys[i];
Ví dụ:
17 18
Lớp Http Request Lớp Http Request
txtUser
Tại Server (file CheckUser.aspx), lấy giá trị của
UserName và Password
txtPwd
- 5/10/2013
Lớp Http Request Lớp Http Request
Hoặc: Trong các HyperLink 3. Tập hợp Cookies (CookiesCollection)
thông tin của người dùng trên máy client
Scholaship of IBM Cookies có 2 dạng:
Cookies[“varcookies”].Value: trả về giá trị
Tại ReadNews.aspx muốn lấy giá typeNews and chứa biến cookies là varcookies (1 chiều)
NewsID, sử dụng cú pháp: Cookies[“varcookies”] [“Subvarcookies”]:
trả về giá trị chứa biến cookies là subvarcookies
Var1=Request.QueryString[“typeNews”];//Var1=edu (nhiều chiều)
Var2=Request.QueryString[“NewsID”];//Var2=98708 Cookies[“varcookies”]
21 [“Subvarcookies”][“hhhhhh”]: 22
Lớp Http Request Lớp Http Request
Thuộc tính của Cookies: Keys[i]: trả về tên của phần tử tại vị trí thứ i,
Count: Xác định máy client có bao nhiêu phần trong đó i có giá trị từ 0 đến n-1 với
tử cookies n=Request.Cookies.Count
Cú pháp: Cú pháp:
Numelement=Request.Cookies.Count; Varfield=Request.Cookies.Keys[i];
23 24
6
- 5/10/2013
Lớp Http Request Lớp Http Response
Ví dụ: Http Response được sử dụng để truyền dữ liệu
25 26
Lớp Http Response Lớp Http Response
Các thuộc tính Cú pháp:
Buffer: có 2 giá trị true và false quy định cách Response.Buffer=true/false;
truyền tải dữ liệu:
True: Hoàn tất công việc và gửi một lần isClientConnected: Kiểm tra máy client có yêu
False: Thực hiện xong đến đâu thì gửi đến cầu kết nối đến server, kết quả trả về giá trị
đó true/false
Cookies: được sử dụng để ghi Cookies. Cookies
được thể hiện trong asp.Net là lớp Httpcookies
27 28
7
- 5/10/2013
Lớp Http Response Lớp Http Response
Khởi tạo biến cookies: Server ghi vào máy trạm 1 biến cookies
Httpcookies varck= new Httpcookies(“CkName”); Response.Cookies.Add(varck);
Ghi cookie vào client Xóa cookies
varck.Value =value; Response.Cookies.Clear();
29 30
Lớp Http Response Lớp Http Response
Ví dụ:khởi tạo biến cookie và gán giá trị
// Đọc Cookies
- 5/10/2013
Lớp Http Response Lớp Http Response
Các phương thức Ví dụ:
Clear(): Xóa vùng tạm
đẩy dữ liệu tới Client
Flush(): Kết thúc tiến trình, quay lại thực hiện
33 34
Lớp Http Response Lớp Http Response
Redirect(url) : dùng để chuyển client sang Ví dụ:
một URL khác Response.Redirect(“T1.aspx”);
m=m+1;
Redirect(url, Boolean): dùng để chuyển
Try
client sang một URL khác, trong đó: {
Nếu tham số Boolean =true thì khi thực hiện Response.Redirect(“T1.aspx”, false);
xong lệnh Response sẽ thực hiện tiếp m=m+1;
}
Nếu số Boolean =false thì khi thực hiện xong
Catch
lệnh Response sẽ dừng {
Response.Redirect(“T2.aspx”);
35
} 36
9
- 5/10/2013
Lớp Http Response Lớp Http Server
Write(“Data”): Ghi dữ liệu ra trang web Đối tượng Server cung cấp các phương thức giúp
chuyển điều khiển giữa các trang với nhau, lấy
thông tin về mã lỗi, encode, …
Các thuộc tính
hoặc MachineName: tên server
Response.Write(strname) ScriptTimeout: thiết lập thgian xử lý tối đa 1
file
Ví dụ:
Server.ScriptTimeout=100s //thiết lập thgian mặc định
37 38
Lớp Http Server Lớp Http Server
Các phương thức HtmlEncode(str): dùng để mã hoá HTML
MapPath(“URL”): ánh xạ đường dẫn ảo thành thành chuỗi
đường dẫn vật lý cho một tập tin trên Server Cú pháp:
Cú pháp: Server.HTMLEncode(str)
Server.MapPath(path)
Path là chuỗi thực hiện đường dẫn tương đối
của tập tin trên ứng dụng Web
Phương thức sẽ trả về chuỗi hiện thực đường
dẫn vật lý của tập tin đó. 39 40
10
- 5/10/2013
Lớp Http Server Lớp Http Server
Khi mã hoá chuỗi HTML sang chuỗi bình thường HtmlDecode(strcontent):giải mã các thẻ HTML
nếu gặp các ký tự như sau sẽ chuyển sang ký Ví dụ:
tự tương ứng: Str=”n>5”
Ký tự 5
Ký tự >chuyển thành >
Ký tự & chuyển thành &
Dấu đôi “ chuyển thành "
41 42
Lớp Http Server Lớp Http Server
Transfer: gửi tất cả thông tin mà nó đã xử lý Phương thức URLEncode: Tương tự như
từ trang ASP hiện hành sang trang ASP khác phương thức HTMLEncode, phương thức
URLEcode dùng để mã hoá URL thành chuỗi
Cú pháp:
Cú pháp
Server.Transfer(path)
Server.URLEncode(str)
Trong đó, tham số path là đường dẫn của tập
tin ASP cần chuyển điều khiển.
43 44
11
- 5/10/2013
Lớp Http Server Lớp Http Server
Khi mã hoá chuỗi URL sang chuỗi bình thường Phương thức CreateObject: Phương thức
nếu gặp các ký tự như sau, sẽ chuyển sang ký này (không có giá trị trả về) dùng để tạo đối
tự tương ứng: tượng thành phần trên Server
Ký tự khoảng trắng chuyển thành dấu +
Cú pháp
Ký tự không thuộc ký tự chữ và số sẽ chuyển
thành số hexadecimal. Server.CreateObject(progid)
Tham số progid chỉ định loại đối tượng cần
tạo với định dạng
[Vendor.] Component[.Version]
45 46
Lớp Http Server Lớp Http Server
Ví dụ: Phương thức Execute: không có giá trị trả về,
Tạo đối tượng ADODB.Connection, dùng để gọi một tập tin .asp và xử lý nó như một
ADODB.Recordset, MSWC.AdRotator, ... phần của kịch bản ASP
`
ngữ lập trình khác.
47 48
12
- 5/10/2013
Session Session
Đối tượng Session là một websever cơ bản sử Khởi tạo:
dụng trong ASP và ASP.NET được dùng để lưu
Session[“SessionName”]=value
trữ trạng thái.
Thông tin được lưu trữ trong Session là của một Lấy giá trị từ biến Session
người dùng trong một phiên làm việc cụ thể.
varName=Convert.ToString(Session[“SessionName”])
Web Server sẽ tự động tạo một đối tượng
Session cho mỗi người dùng mới kết nối vào ứng Session[“SessionName”]=Session[“SessionName”]
dụng và tự động hủy chúng nếu phiên làm việc +value + @
kết thúc @: dùng để tách các giá trị (có thể chọn tùy ý)
49 50
Session Session
Thuộc tính: Những yêu cầu sau đó, web server coi như là
Timeout: Qui định khoảng thời gian (tính một người dùng mới, và sẽ cấp một đối tượng
bằng phút) Web Server duy trì Session nếu Session mới
người dùng không gởi yêu cầu nào về lại Ví dụ:
Server. Session.TimeOut = 100 //Thiết lập thời gian
Giá trị mặc định của Timeout là 20. Nếu không cho 1 phiên làm việc của user là 100 phút
có yêu cầu nào kể từ lần yêu cầu sau cùng một Có thể thiết lập thuộc tính này trong tập tin
khoảng thời gian là phút, đối tượng Web.config trong
Session mà Web server cấp cho lần làm việc đó
- 5/10/2013
Session Session
SessionID: chứa ID của session đang kích Phương thức
hoạt, mỗi user đựơc phân biệt bởi sessionID gọi Abandon(): giải phóng vùng nhớ được dùng
là mã phiên làm việc. để duy trì đối tượng Session trên Web Server
Count: trả về số session trong một ứng dụng ngay khi được gọi thực hiện. Những yêu cầu
sau đó được Web server coi như là một người
dùng mới.
Remove(“SessionName”): xoá dữ liệu trên
biến “VarSession”
RemoveAll(): Xoá dữ liệu, nhưng sessionID
53
vẫn tồn tại 54
Session Session
Ví dụ: Tạo chức năng đăng nhập và thoát Khởi tạo và Huỷ thông tin đăng nhập của người dùng
trong Session
Từ Menu chọn Website Add new item Web void Session_Start(object sender, EventArgs e)
User Control, đặt tên là Login.aspx {
Thiết kế giao diện như sau: // Tăng số khách viếng khi có 1 phiên làm việc của user
Application["SoKhachVieng"] =
(int)Application["SoKhachVieng"] + 1;
// Thiết lập thời gian TimeOut cho mọi phiên là 30 phút
Session.Timeout = 30;
// Đặt trạng thái ban đầu của user là chưa đăng nhập
Session["LOGIN_OK"] = false;
55 } 56
14
- 5/10/2013
protected void btnLogin_Click(object sender, EventArgs e)
{
if (Authority(txtUserName.Text, txtPassword.Text)) Session
{
// Lưu thông tin đăng nhập thành công vào Session protected bool Authority(string user, string pwd)
Session["LOGIN_OK"] = true;
// Ẩn chức năng Login {
panelLogin.Visible = false; if (user == "aaa" && pwd == "1234")
// Hiển thị chức năng logout và lời chào mừng
LblGreeting.Text = "Chào mừng bạn " + txtUserName.Text {
+ " đã đăng nhập website!"; return true;
}
else }
{ return false;
// Lưu thông tin đăng nhập thất bại vào Session
Session["LOGIN_OK"] = false; }
}
} 57 58
Application Application
Đối tượng Application được sử dụng để quản lý Sự kiện: global.asax
tất cả các thông tin của một ứng dụng web, bao Application_Start: Khi ứng dụng web lần
gồm các file, trang web, sự kiện, module và code đầu tiên được gọi
trong thư mục web ảo(virtual directory) và các thư Application_End: Khi ứng dụng web kết
mục con của nó thúc.
Application chia sẻ thông, nghĩa là một Application
sau khi khởi tạo thì mọi người sử dụng có thể truy
cập đối tượng này
59 60
15
- 5/10/2013
Application Application
Khởi tạo: Lấy giá trị:
Đối tượng Application được tạo khi client yêu
cầu bất kỳ trang nào trong ứng dụng string s = (string) Application[“chuoi”] ;
int count = (int) Application[“count”] ;
Application[“TenBien”] = “Value” ;
61 62
Application Application
Ví dụ: Khởi tạo và lưu thông tin Số người duyệt Mở trang Global.asax ở chế độ View Code
website khi website được kích hoạt lần đầu tiên
void Session_Start(object sender, EventArgs e)
void Application_Start(object sender, EventArgs e) {
{ Application["SoKhachVieng"] =
Application["SoKhachVieng"] = 0; int)Application["SoKhachVieng"]+1;
// Khởi tạo số khách viếng ban đầu là 0 // Tăng số khách viếng khi có 1 phiên làm việc của user
} }
63 64
16
- 5/10/2013
Application
Ví dụ :Lấy thông tin số khách viếng website và
hiển thị ra màn hình
Mở trang Index.aspx ở chế độ View Code, Xử lý
trong hàm Page_Load như sau:
protected void Page_Load(object sender,
EventArgs e)
{
lbtCount.Text = "Số khách viếng thăm :" +
Application["SoKhachVieng"].ToString();
} 65
17
nguon tai.lieu . vn