Bài 2: Các lớp sử dụng trong
ASP.NET
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
Request
Response
Cookies
Server
Session
Application
Chu trình sống của một trang web
1
2.1 Lớp Http Request
Khái niệm
Các thuộc tính
2
Khái niệm
Request là một đối tượng của ASP.NET, nó cho phép
đọc các thông tin do các trang khác gửi (Submit) đến
3
Các thuộc tính
RequestType
Request.Form
Request.QueryString
Cookies
4
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
Namespace: System.Web
Assembly: System.Web (in System.Web.dll)
Type Value: System.String
Cú pháp:
public string RequestType { get; set; }
5
Request.Form
Form collection 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:
Request.Form( element )[(index)|.Count];
Request.Form.Keys[i];
6
Ví dụ 1 - Request.Form( element )
7
Default.aspx
<body>
<form method= "post" action= "CheckUser.aspx" >
UserName: <input type="text" name="txtUser" />
Password: <input type="password" name="txtPwd" />
<input type= "submit" name="btnLogin" value="Login" />
</form>
</body>
8
CheckUser.aspx
<body>
<b>UserName:</b>
<% =Request.Form["txtUser"] %>
<b>Password:</b>
<% =Request.Form["txtPwd"] %>
</body>
9
Request.Form.Count;
Trả về số phần tử của form chuyển từ Client đến
Server
Request.Form.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.Form.Count
10
<body>
<div>
<b>UserName:</b>
<%=Request.Form["txtUser"] %>
<b>Password:</b>
<%=Request.Form["txtPwd"] %>
<b>Số phần tử:</b>
<%=Request.Form.Count %>
<% int i, num;
string s1;
num = Request.Form.Count;
for (i = 0; i < num; i++)
{
s1 = Request.Form.Keys[i];
Response.Write(Request.Form[s1]);
}
%>
</div>
</body>
CheckUser.aspx
11
Request.QueryString
Dùng để lấy dữ liệu đượ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 <a> Hyperlink
http://<host>[:
][[?<QueryString>]]
[?Tham_so_1=gia_tri_1[&Tham_so_2=gia_tri_2[&……]]]
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
Cú pháp:
Request.QueryString( variable )[(index)|.Count]
12
Cách truyền tham số
<Form method=”Get” action=”FileName.aspx>
Các phần tử của form
</Form>
1
<a href=”FileName.aspx?var1=value1&var2=value2&…”>
Text hoặc image
2
</a>
13
Default.aspx
1
<body>
<div>
<form method= "get" action= "CheckUser.aspx" >
UserName: <input type="text" name="txtUser" />
Password: <input type="password" name="txtPwd" />
<input type= "submit" name="btnLogin" value="Login" />
</form>
</div>
</body>
14
CheckUser.aspx
1
<body>
<% string strUser, strPws;
strUser = Request.QueryString["txtUser"];
strPws = Request.QueryString["txtPwd"];
%>
<b>UserName: </b>
<%=strUser%>
<b>Password: </b>
<%=strPws %>
</body>
15
Default.aspx
2
<body>
<form method= "post" action= "CheckUser.aspx" >
UserName: <input type="text" name="txtUser" />
Password: <input type="password" name="txtPwd" />
<input type= "submit" name="btnLogin" value="Login" />
</form>
<a href= "News.aspx">Tin tức</a>
<a href= "News.aspx">Âm nhạc</a>
</body>
16
CheckUser.aspx
2
<body>
<a href="News.aspx?Id=3456&type=hide"> Tin tuc</a>
<a href="News.aspx?Id=36586&type=item">Music</a>
<% string strUser, strPws;
strUser = Request.QueryString["txtUser"];
strPws = Request.QueryString["txtPwd"];
%>
<b>UserName: </b> <%=strUser%>
<b>Password: </b> <%=strPws %>
</body>
17
New.aspx
2
<body>
<% String strID, strType;
strID = Request.QueryString["Id"];
strType = Request.QueryString["type"];
%>
Ban chon ma so : <%=strID%>
Kieu hien thi : <%=strType%>
</body>
18
Request.QueryString.Count;
Trả về số phần tử của form chuyển từ client đến
server
Request.QueryString.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
19
2.2 Lớp Http Response
Khái niệm
Các thuộc tính
Các phương thức
20
Khái niệm
Http Response được sử dụng để truyền dữ liệu
từ webserver đến webBrowser
Data
21
Các thuộc tính
Buffer:
Quy định cách truyền tải dữ liệu:
Response.Buffer=true/false;
True: Hồ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 đó
isClientConnected
Kiểm tra máy client có yêu cầu kết nối đến server
Response.isClientConnected=true/false;
22
Các phương thức
Clear
End
Flush
Redirect
Write
•
•
Xóa vùng tạm;
Cú pháp: Response.Clear();
•
•
Kết thúc tiến trình xử lý trên Server và đẩy dữ
liệu tới Client;
Cú pháp: Response.End();
•
•
Kết thúc tiến trình, quay lại thực hiện tiếp;
Cú pháp: Response.Flush();
•
•
Dùng để chuyển client sang một URL khác;
Cú pháp: Response.Redirect(url, boolean);
•
•
Dùng để ghi dữ liệu ra web;
Cú pháp: Response.Write(strname);
Hoặc <% = strname %>
2.3 Lớp HttpCookies
Được sử dụng để ghi Cookies
Cookies trong asp.Net ở lớp Httpcookies
Ví dụ:
Khởi tạo biến cookies:
Httpcookies varCk = new Httpcookies(“CkName”);
Ghi giá trị vào biến cookie: varCk.Value =value;
Server ghi vào Client một biến Cookie:
Response.Cookies.Add(varck);
Xóa Cookie: Response.Cookies.Clear(varck);
24
Ví dụ:
<% string v, v1,v2,v3;
HttpCookie ckInform = new HttpCookie("Infor");
ckInform[“Us"] = "abc";
ckInform["Pwd"] = "xyz";
ckInform["Author"] = "123";
Response.Cookies.Add(ckInform);
%>
25