Lớp Http Request Đối tượng Request nhận tất cả giá trị mà trình duyệt của client gởi đến server thông qua HTTP request.. Tập hợp Form Form collection Form collection đựơc sử dụng để tậ
Trang 2Lớp Http Request
Request là một thể hiện của lớp HttpRequest,
Browser dùng Request object để gửi thông tin cần thiết tới Server
Data
Trang 3Lớp Http Request
Đối tượng Request nhận tất cả giá trị mà trình
duyệt của client gởi đến server thông qua HTTP request
Request đại diện cho Client khi yêu cầu trang
Web, Server sẽ dùng vừa Response vừa Request để đáp ứng yêu cầu hay đòi hỏi thông tin từ Client
Trang 4Lớp Http Request
Các thuộc tính
RequestType: trả về phương thức truyền dữ
liệu từ client đến server gồm 2 phương thức
POST và GET
Cú pháp
valMethode=Request.RequestType;
valMethode=Request RequestType;
Trang 5Lớp Http Request
1. Tập hợp Form (Form collection )
Form collection đựơc sử dụng để tập hợp dữ 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
POST.
Cú pháp
VarName= Request.Form[“FieldName”]; VarName= Request.Form[“FieldName”];
Trang 6Lớp Http Request
Ví dụ:
< form method ="Post" action =“CheckUser.aspx">
UserName: < input type ="text" name ="txtUser" />< br />
Password: < input type ="password" name ="txtPwd" />< br />
txtUser txtPwd
Default.aspx
Trang 7Lớp Http Request
Ví dụ (tt):
Tại trang CheckUser.aspx, lấy giá trị của UserName và
Password trên form
<b>UserName:</b>
<%=Request.Form["txtUser"]%><br />
<b>Password</b>
<%=Request.Form["txtPwd"]%>
Trang 8Lớp Http Request
Các thuộc tính của form Collection:
Count: trả về số phần tử của form chuyển từ
client đến server
Cú pháp:
Numelement=Request.Form.Count;
Numelement=Request.Form.Count;
Trang 11QueryString đượ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
Trang 12Có 3 cách truyền tham số và gọi file xử lý
phần tử của form
Trang 13Lớp Http Request
<Form method=”Get or Post”
Trang 14Lớp Http Request
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 =
var1=value1&var2=value2&…”>
Text hoặc image
</a>
Trang 15Lớp Http Request
Nếu tham số không có giá trị thì giá trị trả về
của tham số khi sử dụng Request.QueryString
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 để
nhận dữ liệu
Trang 17Lớp Http Request
Count: trả về số phần tử của form chuyển từ
client đến server
Cú pháp:
Numelement=Request.QueryString.Count;
Trang 18Lớp Http Request
Keys[i]: trả về tên của phần tử tại vị trí thứ i,
trong đó i có giá trị từ 0 đến n-1 với
n=Request.QueryString.Count
Cú pháp:
Ví dụ:
Varfield=Request.QueryString.Keys[i];
Trang 19Lớp Http Request
<form method=“Get" action=“CheckUser.aspx">
UserName: <input type="text" name="txtUser" /><br /
Password: <input type="password" name="txtPwd" /><br /> <input type="Submit" name="btnLogin" value="Login" /><br />
</form>
txtUser txtPwd
Trang 21Var1=Request.QueryString[“ typeNews ”];// Var1=edu
Var2=Request.QueryString[“ NewsID ”];// Var2=98708
Tại ReadNews.aspx muốn lấy giá typeNews and
NewsID, sử dụng cú pháp:
Trang 22Lớp Http Request
3. Tập hợp Cookies (CookiesCollection)
thông tin của người dùng trên máy client
Trang 23Lớp Http Request
Thuộc tính của Cookies:
tử cookies
Cú pháp:
Numelement=Request.Cookies.Count;
Trang 24Lớp Http Request
Keys[i]: trả về tên của phần tử tại vị trí thứ i,
trong đó i có giá trị từ 0 đến n-1 với
n=Request.Cookies.Count
Cú pháp:
Varfield=Request.Cookies.Keys[i];
Trang 26Lớp Http Response
Http Response được sử dụng để truyền dữ liệu
webserver đến webBrowser
Data
Trang 27Lớp Http Response
Các thuộc tính
Buffer: có 2 giá trị true và false quy định cách
truyền tải dữ liệu:
đến đó
Trang 28Lớp Http Response
Cú pháp:
isClientConnected: Kiểm tra máy client có yêu
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
Response.Buffer=true/false;
Trang 29Lớp Http Response
Httpcookies varck= new Httpcookies(“CkName”); Httpcookies varck = new Httpcookies(“CkName”);
varck.Value =value;
varck.Value =value;
Trang 31Lớp Http Response
Ví dụ:khởi tạo biến cookie và gán giá trị
<% string v, v1,v2,v3;
HttpCookie ckInform = new HttpCookie ( "Infor" );
ckInform[ “Us" ] = "abc" ;
Trang 32[“Author”];//123
Trang 33Lớp Http Response
Các phương thức
Clear(): Xóa vùng tạm
Cú pháp:
End(): Kết thúc tiến trình xử lý trên Server và
đẩy dữ liệu tới Client
Flush(): Kết thúc tiến trình, quay lại thực hiện
tiếp
Response.Clear()
Trang 34Ví dụ:
Trang 35Lớp Http Response
Redirect(url) : dùng để chuyển client sang
một URL khác
Redirect(url, Boolean): dùng để chuyển
client sang một URL khác, trong đó:
hiện xong lệnh Response sẽ thực hiện tiếp
xong lệnh Response sẽ dừng
Trang 38Lớp Http Server
Đố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
1 file
Ví dụ:
Trang 39Lớp Http Server
Các phương thức
MapPath(“URL”): ánh xạ đường dẫn ảo thành
đường dẫn vật lý cho một tập tin trên Server
Cú pháp:
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
Server.MapPath(path)
Trang 41Lớp Http Server
Khi mã hoá chuỗi HTML sang chuỗi bình thường
nếu gặp các ký tự như sau sẽ chuyển sang ký
tự tương ứng:
Trang 43Lớp Http Server
Transfer: gửi tất cả thông tin mà nó đã xử lý
từ trang ASP hiện hành sang trang ASP khác
Cú pháp:
Trong đó, tham số path là đường dẫn của tập tin ASP cần chuyển điều khiển
Server.Transfer(path)
Trang 44Lớp Http Server
Phương thức URLEncode: Tương tự như
phương thức HTMLEncode, phương thức URLEcode dùng để mã hoá URL thành chuỗi
Cú pháp
Server.URLEncode(str)
Trang 45Lớp Http Server
Khi mã hoá chuỗi URL sang chuỗi bình thường
nếu gặp các ký tự như sau, sẽ chuyển sang ký
Trang 46Lớp Http Server
Phương thức CreateObject: Phương thức
này (không có giá trị trả về) dùng để tạo đối tượng thành phần trên Server
cần tạo với định dạng
Server.CreateObject(progid)
Trang 48Lớp Http Server
Phương thức Execute: không có giá trị trả về,
dùng để gọi một tập tin asp và xử lý nó như một phần của kịch bản ASP
thực thi, tương tự như gọi thủ tục trong nhiều ngôn ngữ lập trình khác.
Server.Execute(path)
Trang 49dụng trong ASP và ASP.NET được dùng để lưu trữ trạng thái
Thông tin được lưu trữ trong Session là của một
người dùng trong một phiên làm việc cụ thể
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 dụng và tự động hủy chúng nếu phiên làm việc
Trang 50 Khởi tạo:
Lấy giá trị từ biến Session
Session[“SessionName”]=Session[“SessionName”]
Trang 51Thuộc tính:
Timeout : Qui định khoảng thời gian (tính bằng
phút) Web Server duy trì Session nếu người dùng không gởi yêu cầu nào về lại Server
Giá trị mặc định của Timeout là 20 Nếu không
có yêu cầu nào kể từ lần yêu cầu sau cùng một khoảng thời gian là <Timeout> phút, đối tượng Session mà Web server cấp cho lần làm việc đó
sẽ tự động được giải phóng
Trang 52 Những yêu cầu sau đó, web server coi như là
một người dùng mới, và sẽ cấp một đối tượng Session mới
Ví dụ:
Session.TimeOut = 100 //Thiết lập thời gian cho
1 phiên làm việc của user là 100 phút
Có thể thiết lập thuộc tính này trong tập tin
Web.config trong <system.web>
Trang 53 SessionID: chứa ID của session đang kích
hoạt, mỗi user đựơc phân biệt bởi sessionID gọi
là mã phiên làm việc
Count: trả về số session trong một ứng dụng
Trang 54Phương thức
Abandon(): giải phóng vùng nhớ được dùng
để duy trì đối tượng Session trên Web Server 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
Trang 55Ví dụ: Tạo chức năng đăng nhập và thoát
Từ Menu chọn Website Add new item Web User Control, đặt tên là Login.aspx
Thiết kế giao diện như sau:
Trang 57protected void btnLogin_Click(object sender, EventArgs e)
// 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!";
Trang 59 Đối tượng Application được sử dụng để quản lý
tất cả các thông tin của một ứng dụng web, bao gồm các file, trang web, sự kiện, module và code trong thư mục web ảo(virtual directory) và các thư mục con của nó
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
Trang 60 Sự kiện : global.asax
lần đầu tiên được gọi
kết thúc
Trang 61 Khởi tạo :
Đối tượng Application được tạo khi client yêu
cầu bất kỳ trang nào trong ứng dụng
Application[“TenBien”] = “Value” ;
Trang 62 Lấy giá trị:
string s = (string) Application[“chuoi”] ;
int count = (int) Application[“count”] ;
string s = (string) Application[“chuoi”] ;
int count = (int) Application[“count”] ;
Trang 63Ví dụ: Khởi tạo và lưu thông tin Số người duyệt
website khi website được kích hoạt lần đầu tiên
void Application_Start(object sender, EventArgs e) {
Application["SoKhachVieng"] = 0;
// Khởi tạo số khách viếng ban đầu là 0
}
Trang 64 Mở trang Global.asax ở chế độ View Code
void Session_Start(object sender, EventArgs e)
{
Application["SoKhachVieng"] = int)Application["SoKhachVieng"]+1;
}
Trang 65Ví 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();