Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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 đó
  14. 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
  15. 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
  16. 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
  17. 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