Bài giảng Phát triển web nâng cao - Bài 2: Các lớp sử dụng trong ASP.NET được biên soạn nhằm trang bị cho các bạn những kiến thức về các lớp sử dụng trong ASP.NET như Request, Response, Cookies, Server, Session, Application.
Trang 22.1 Lớp Http Request
Khái niệm
Các thuộc tính
Trang 3Khá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
Trang 5public string RequestType { get; set; }
Trang 6trong các phần tử của form chuyển từ Client đến Server
Request.Form ( element )[(index)|.Count];
Trang 7Ví dụ 1 - Request.Form ( element )
Trang 8<body>
<form method= "post" 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>
</body>
Trang 12phương thức GET hoặc truyền dữ liệu có chứa tag liên kết <a> Hyperlink
http://<host>[:<port>][<path>[?<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
Trang 13Cách truyền tham số
<Form method=” Get ” action =”FileName.aspx>
Các phần tử của form
</Form>
<a href=”FileName.aspx? var1 =value1 & var2 =value2 & …”>
Text hoặc image
</a>
1
2
Trang 14<body>
<div>
<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>
</div>
</body>
Trang 16<body>
<form method= "post" 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>
<a href= "News.aspx">Tin tức</a><br />
<a href= "News.aspx">Âm nhạc</a><br />
</body>
Trang 18Ban chon ma so : <%= strID %><br/>
Kieu hien thi : <%= strType %><br/>
</body>
Trang 202.2 Lớp Http Response
Khái niệm
Các thuộc tính
Các phương thức
Trang 21Khái niệm
Http Response được sử dụng để truyền dữ liệu
từ webserver đến webBrowser
Data
Trang 22Các thuộc tính
Buffer:
Quy định cách truyền tải dữ liệu:
Response.Buffer=true/false;
isClientConnected
Trang 242.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:
Ghi giá trị vào biến cookie: varCk.Value =value;
Server ghi vào Client một biến Cookie:
Trang 272.4 Lớp Http Server
Khái niệm
Các thuộc tính
Các phương thức
Trang 28Khái niệm
Đố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, …
Đối tượng Server cung cấp thông tin của
Server cho ứng dụng
Trang 312.5 Session
Khái niệm
Thuộc tính và phương thức
Trang 32Khái niệm
dụng
dùng trong một phiên làm việc cụ thể
dụng nữa
Trang 33• Nếu không có yêu cầu nào kể từ lần yêu cầu sau cùngmột khoảng thời gian là <Timeout> phút, đối tượngSession mà Web server cấp cho lần làm việc đó sẽ tựđộng được giải phóng => Yêu cầu sau coi như ngờidùng mới
Trang 34Thuộc tính và phương thức
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
Trang 35Thuộc tính và phương thức
Session.Add("Tên_Biến","Giá trị khởi tạo");
Đọc giá trị của một biến sesstion:
Session.Contents[“Tên_Biến”];
hoặc dùng chỉ số: Session.Contents[i];
Ghi (thay đổi) giá trị của biến session:
Trang 36Thuộc tính và phương thức
Các sự kiện tự động được gọi mỗi khi một
phiên làm việc được tạo ra :
On_Start
On_End
Các sự kiện được đặt trong file Global.asax:
Trang 37 Nếu sai : Thì ở nguyên trang Login.aspx
Trang Home.aspx (chỉ có 1 dòng giới thiệu)
Trang 39<form id="form1" runat="server">
User name: <asp:TextBox runat="server" ID="txtUserID"> </asp:TextBox><br />Password:
<asp:TextBox runat="server" ID="txtPassword" TextMode="Password">
Trang 41Thiết kế Golbal.asax
<script runat="server">
void Application_Start(object sender, EventArgs e)
{ // Code that runs on application startup } void Application_End(object sender, EventArgs e)
{ // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e)
{ // Code that runs when an unhandled error occurs }
void Session_Start(object sender, EventArgs e)
{ // Code that runs when a new session is started
Session.Add("TrangThai", "chuadangnhap"); }
void Session_End(object sender, EventArgs e)
{ // Code that runs when a session ends
// Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file If session mode is set to StateServer
Trang 422.6 Application
Khái niệm
Thuộc tính
Trang 43Khái niệm
Đố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
Thông tin được lưu trữ trong đối tượng
Application có thể được xử lý trong bất kỳ trang aspx nào trong suốt chu kỳ sống của ứng dụng
Trang 44Application.Add(“Tên_Biến”, <Giá trị khởi tạo>);
Application.Contents[“Tên_Biến”] ; hoặc chỉ số: Application.Contents[i];
Trang 45 Ngoài ra, đối tượng Application còn có 2 phương thức
thường dùng là :
Application.Lock(): Để khóa không cho người khác sửa đổi
các biến toàn cục
Application.UnLock() để mở khóa
Application_OnStart : chỉ được kích hoạt duy nhất một lần khi
yêu cầu đầu tiên phát sinh
Application_OnEND : được kích hoạt khi dịch vụ web dừng
(unload)
Trang 47<h1>Chào mừng bạn đã đến website của chúng tôi</h1>
<asp:Label runat="server" ID="lblSLKhach"></asp:Label>
</div>
</form>
Trang 49void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
//Tạo một biến Applciation là SLTruyCap và khởi tạo giá trị 0
Application.Add("SLTruyCap", 0);
}
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
//Tăng số lượng người truy cập lên 1 khi có một người mới thăm
Application.Contents["SLTruyCap"] =
Trang 502.7 Chu trình sống của một trang
web
Chu kỳ sống được bắt đầu khi trình duyệt yêu cầu một trang web gọi là Session
Chu kỳ sống vẫn tiếp tục nếu:
Session đang hoạt động
Người sử dụng tương tác với giao diện web cho đến khi kích hoạt một sự kiện
Dữ liệu của trang (View State) wed được gửi về cho Server
Server nhận được View State và trả lại yêu cầu từ View State
Trang 51void Session_Start(object sender, EventArgs e)
{ // Tăng số đang truy cập lên 1 nếu có khách truy cập
Trang 52Cảm ơn.