Các lớp sử dụng trong ASP.NET
Đốitượng Request nhậntấtcảgiá trị mà trình
duyệtcủaclientgởi đếnserverthôngquaHTTP
request.
Requestđạidiện cho Client khi yêu cầutrang
Web, Server sẽ dùng vừaResponsevừa
Requestđể đápứng yêu cầuhayđòi hỏi thông
tin từClient.
Lớp Http Request Ví dụ: <% int i, num; string varField, varName; num = Request.Cookies.Count; for (i = 0; i < num; i++) { varField = Request.Cookies.Keys[i]; varName = Request.Cookies.[varField].Value; } %> 26 Lớp Http Response Http Response được sử dụng để truyền dữ liệu webserver đến webBrowser Data 27 Lớ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: True: Hoàn tất công việc và gửi một lần False: Thực hiện xong đến đâu thì gửi đến đó 28 Lớ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 được thể hiện trong asp.Net là lớp Httpcookies Response.Buffer=true/false; 5/10/2013 8 29 Lớp Http Response Khởi tạo biến cookies: Ghi cookie vào client Httpcookies varck= new Httpcookies(“CkName”); varck.Value =value; 30 Lớp Http Response Server ghi vào máy trạm 1 biến cookies Xóa cookies Response.Cookies.Add(varck); Response.Cookies.Clear(); 31 Lớ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"; ckInform["Pwd"] = "xyz"; ckInform["Author"] = "123"; Response.Cookies.Add(ckInform); // server add cookies vào máy client %> 32 Lớp Http Response // Đọc Cookies v = Request.Cookies[“Infor”].value ; // result :v=”abc”,”xyz”,”123” // hay dùng v1 = Request.Cookies[“Infor”] [“Us”];//abc v2 = Request.Cookies[“Infor”] [“Pwd”];//xyz v3 = Request.Cookies[“Infor”] [“Author”];//123 5/10/2013 9 33 Lớ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() 34 Lớp Http Response <% int i; Response.Buffer = true; for (i = 1; i < 10000; i++) {%> <%if (i % 10000 == 0) Response.Flush();%> Ví dụ: 35 Lớ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 đó: Nếu tham số Boolean =true thì khi thực hiện xong lệnh Response sẽ thực hiện tiếp Nếu số Boolean =false thì khi thực hiện xong lệnh Response sẽ dừng 36 Lớp Http Response Ví dụ: Response.Redirect(“T1.aspx”); m=m+1; Try { Response.Redirect(“T1.aspx”, false); m=m+1; } Catch { Response.Redirect(“T2.aspx”); } 5/10/2013 10 37 Lớp Http Response Write(“Data”): Ghi dữ liệu ra trang web hoặc Response.Write(strname) 38 Lớ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 MachineName: tên server 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 39 Lớ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 đường dẫn vật lý của tập tin đó. Server.MapPath(path) 40 Lớp Http Server HtmlEncode(str): dùng để mã hoá HTML thành chuỗi Cú pháp: Server.HTMLEncode(str) 5/10/2013 11 41 Lớ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: Ký tự <chuyển thành < Ký tự >chuyển thành > Ký tự & chuyển thành & Dấu đôi “ chuyển thành " 42 Lớp Http Server HtmlDecode(strcontent):giải mã các thẻ HTML Ví dụ: Str=”n>5” Str=server.HtmlDecode(str); // kết quả n>5 43 Lớ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) 44 Lớ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) 5/10/2013 12 45 Lớ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ý tự tương ứng: Ký tự khoảng trắng chuyển thành dấu + Ký tự không thuộc ký tự chữ và số sẽ chuyển thành số hexadecimal. 46 Lớ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ú pháp Tham số progid chỉ định loại đối tượng cần tạo với định dạng [Vendor.] Component[.Version] Server.CreateObject(progid) 47 Lớp Http Server Ví dụ: Tạo đối tượng ADODB.Connection, ADODB.Recordset, MSWC.AdRotator, ... <% Set myAd=Server.CreateObject(MSWC.AdRotator) Set myCon=Server.CreateObject(ADODB.Connection) Set myCon=Server.CreateObject(ADODB.Recordset) %>` 48 Lớ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 Cú pháp Path là đường dẫn và tên tập tin asp cần 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) 5/10/2013 13 49 Session Đối tượng Session là một websever cơ bản sử dụ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 kết thúc 50 Session Khởi tạo: Lấy giá trị từ biến Session Session[“SessionName”]=Session[“SessionName”] +value + @ @: dùng để tách các giá trị (có thể chọn tùy ý) Session[“SessionName”]=value varName=Convert.ToString(Session[“SessionName”]) 51 Session Thuộ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à 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. 52 Session 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 5/10/2013 14 53 Session 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 54 Session Phươ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 vẫn tồn tại 55 Session Ví 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: 56 Session Khởi tạo và Huỷ thông tin đăng nhập của người dùng trong Session void Session_Start(object sender, EventArgs e) { // 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; } 5/10/2013 15 57 protected void btnLogin_Click(object sender, EventArgs e) { if (Authority(txtUserName.Text, txtPassword.Text)) { // Lưu thông tin đăng nhập thành công vào Session Session["LOGIN_OK"] = true; // Ẩn chức năng Login panelLogin.Visible = false; // 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!"; } else { // Lưu thông tin đăng nhập thất bại vào Session Session["LOGIN_OK"] = false; } } 58 Session protected bool Authority(string user, string pwd) { if (user == "aaa" && pwd == "1234") { return true; } return false; } 59 Application Đố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 60 Application Sự kiện: global.asax Application_Start: Khi ứng dụng web lần đầu tiên được gọi Application_End: Khi ứng dụng web kết thúc. 5/10/2013 16 61 Application 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” ; 62 Application Lấy giá trị: string s = (string) Application[“chuoi”] ; int count = (int) Application[“count”] ; 63 Application Ví 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 } 64 Application Mở trang Global.asax ở chế độ View Code void Session_Start(object sender, EventArgs e) { Application["SoKhachVieng"] = int)Application["SoKhachVieng"]+1; // Tăng số khách viếng khi có 1 phiên làm việc của user } 5/10/2013 17 65 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(); }
File đính kèm:
- Chương 4_Các lớp sử dụng trong ASP.NET.pdf