1. Trang chủ
  2. » Công Nghệ Thông Tin

bài giảng học phần thiết kế lập trình web chương 4.2 - gv. trần minh hùng

17 365 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lớp Http Request
Trường học Unknown University
Chuyên ngành Web Programming Design
Thể loại Bài giảng
Năm xuất bản 2013
Thành phố Unknown City
Định dạng
Số trang 17
Dung lượng 361,29 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CHƯƠNG IV: CÁC LỚP SỬ DỤNG TRONG ASP.NET 2 Lớ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 3 Lớp H

Trang 1

CHƯƠNG IV:

CÁC LỚP SỬ DỤNG

TRONG ASP.NET

2

Lớ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

3

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

 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

4

Lớ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;

Trang 2

Lớ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.

Lấy dữ liệu từ các phần tử của form:

Cú pháp

VarName= Request.Form[“FieldName”];

6

Lớ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 />

< input type ="Submit" name ="btnLogin" value ="Login" />< br />

</ form >

txtUser txtPwd

Default.aspx

7

Lớ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"]%>

8

Lớ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;

Trang 3

Lớ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.Form.Count

Cú pháp:

Varfield=Request.Form.Keys[i];

10

Lớp Http Request

Ví dụ:

<% int i, num;

string varField, varName;

num = Request.Form.Count;

for (i = 0; i < num; i++) {

varField = Request.Form.Keys[i];

varName = Request.Form[varField];

}

%>

11

Lớp Http Request

2 Tập hợp QueryString

(QueryString Collection )

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

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

12

Lớp Http Request

<Form method=”Get” action=”FileName.aspx>

Các phần tử của form

</Form>

Có 3 cách truyền tham số và gọi file xử lý

Cách 1: dùng action , tham số truyền qua phần tử của form

Trang 4

Lớp Http Request

Cách 2: dùng action , tham số ghi sau dấu ?

<Form method=”Get or Post”

action=”FileName.aspx?var1=value1&var2=value2&

…”>

Các phần tử của form

</Form>

14

Lớp Http Request

Cách 3 : dùng chuỗi link , tham số ghi sau dấu ?

 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 =

<a href=”FileName.aspx?var1=value1&var2=value2&…”>

Text hoặc image

</a>

15

Lớ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

16

Lớp Http Request

Lấy dữ liệu từ các phần tử của form hay

<a>:

Cú pháp:

Request.QueryString[“varName”];

Trang 5

Lớp Http Request

Các thuộc tính của QueryStringCollection :

Count: trả về số phần tử của form chuyển từ

client đến server

Cú pháp:

Numelement=Request.QueryString.Count;

18

Lớ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];

19

Lớp Http Request

<formmethod=“Get" action=“CheckUser.aspx">

UserName: <inputtype="text" name="txtUser" /><br /

Password: <inputtype="password" name="txtPwd" /><br/>

<inputtype="Submit" name="btnLogin" value="Login" /><br/>

</form>

txtUser

txtPwd

20

Lớp Http Request

 Tại Server (file CheckUser.aspx), lấy giá trị của UserName và Password

<% stringstrUser, strPws;

strUser = Request.QueryString["txtUser"];

strPws = Request.QueryString["txtPwd"];

%>

Trang 6

Lớp Http Request

Hoặc: Trong các HyperLink

< a

href =“ReadNews.aspx? typeNews=edu&NewsID=98708”>

Scholaship of IBM

</ a >

Var1=Request.QueryString[“typeNews”];//Var1=edu

Var2=Request.QueryString[“NewsID”];//Var2=98708

Tại ReadNews.aspxmuốn lấy giá typeNews and

NewsID, sử dụng cú pháp:

22

Lớp Http Request

Cookieslà một mẫu thông tin nhỏ dùng để lưu trữ thông tin của người dùng trên máyclient

Cookies có 2dạng:

Cookies[“varcookies”].Value: trả về giá trị

chứa biến cookies là varcookies (1 chiều)

Cookies [“varcookies”] [“Subvarcookies”]:

trả về giá trị chứa biến cookies là subvarcookies (nhiều chiều)

Cookies [“varcookies”]

[“Subvarcookies”][“hhhhhh”]:

23

Lớp Http Request

Thuộc tính của Cookies:

Count: Xác định máy client có bao nhiêu phần

tử cookies

Cú pháp:

Numelement=Request.Cookies.Count;

24

Lớ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 7

Lớp Http Request

Ví dụ:

<% inti, num;

stringvarField, 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ị truevà 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;

Trang 8

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

Trang 9

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++) {%>

<%=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”);

}

Trang 10

Lớp Http Response

Write(“Data”): Ghi dữ liệu ra trang web

<% = strname %>

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ênServer

 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)

Trang 11

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 &lt;

 Ký tự >chuyển thành &gt;

 Ký tự & chuyển thành &amp;

 Dấu đôi “ chuyển thành &quot;

42

Lớp Http Server

HtmlDecode(strcontent):giải mã các thẻ HTML

Ví dụ:

Str=”n&gt;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ố pathlà đườ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)

Trang 12

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ắngchuyể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)

Trang 13

Session

Đối tượng Sessionlà 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à <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

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.configtrong <system.web>

<sessionState timeout=“100" />

Trang 14

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

để 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;

}

Trang 15

{

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;

}

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

Trang 16

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 }

Trang 17

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();

}

Ngày đăng: 30/05/2014, 21:12

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm