CH

NG II:

ƯƠ Ớ Ử Ụ CÁC L P S   D NG  TRONG ASP.NET

ế Lý thuy t : 3 ti Th c hành : 3 ti

ế t ế t

1

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

ể ử

i Server ế ớ t t

Data

2

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

3

ừ ể  Client.

L p Http Request

ả ề ứ ề ộ Các thu c tính  RequestType:  tr   v   ph

ế ứ ừ client  đ n  server  g m  2  ph ữ ươ ng  th c  truy n  d   ươ ồ ng  th c

ệ li u  t POST và GET Cú pháp

4

valMethode=Request.RequestType; valMethode=Request.RequestType;

L p Http Request

ợ ậ

1. T p h p Form (Form collection )

ựơ ể ậ ử ụ

ứ c  ch a  trong  các  ph n  t

ầ ằ ứ ế ữ ợ c  s   d ng  đ   t p  h p  d   ử ủ   c a  form  ươ ng th c client đ n server b ng ph

ầ ử ủ ữ ệ ừ ấ các ph n t c a form:

Form  collection  đ ượ ệ li u  đ ể ừ chuy n t POST.  L y d  li u t Cú pháp

5

VarName= Request.Form[“FieldName”]; VarName= Request.Form[“FieldName”];

L p Http Request

 Ví d :ụ

txtUser

txtPwd

Default.aspx

6

           UserName:             Password:                    

ị ủ

ớ L p Http Request ụ Ví d  (tt): T i trang

CheckUser.aspx, l y giá tr  c a UserName và

Password trên form

UserName:

<%=Request.Form["txtUser"]%>

Password

7

<%=Request.Form["txtPwd"]%>

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:

8

Numelement=Request.Form.Count; Numelement=Request.Form.Count;

L p Http Request

ứ i v  trí th  i, ả ề  Keys[i]: tr  v  tên c a ph n t

ầ ử ạ ị ủ  t ế ị ừ  0 đ n n­1

 Cú pháp:

trong đó i có giá tr  t ớ v i n=Request.Form.Count

9

Varfield=Request.Form.Keys[i]; Varfield=Request.Form.Keys[i];

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];        }   %>

10

L p Http Request

ợ ậ

2. T p h p QueryString

(QueryStringCollection)

ượ ử ừ ữ ệ ươ ể ấ ằ ế c  g i  t

client  đ n  server  b ng  ph ứ ữ ệ

ế Request.QueryString  dùng  đ   l y  d   li u  ng  đ th c ứ GET  ho c ặ truy nề  d   li u  có  ch a  tag    liên k t  Hyperlink.

ị ượ ằ

11

ủ ầ

ỗ c  đ nh  nghĩa  là  chu i  n m  QueryString  đ sau  d u ấ (Uniform  ?  trong  chu i  URL  Resource  Locator)  trên  ph n  Address  c a  trình duy t.ệ

L p Http Request

ề ọ

ử ề ầ ố ố 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

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

12

L p Http Request

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

ấ ố

var1=value1&var2=value2&…”> ầ ử ủ ầ ử ủ Các ph n t Các ph n t c a form  c a form

13

L p Http Request

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

ấ ỗ ố

var1=value1&var2=value2&…”>

ặ Text ho c image ặ Text ho c image

 Các tham s  đ ỗ ị ủ

ố ượ ở ấ

14

c khai báo cách nhau b i d u &,  ấ ố ặ giá tr  c a m i tham s  đ t sau d u =

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,  ợ QueryString đ  ể

15

ữ ệ ậ ừ ẽ phía Server s  dùng t p h p  nh n d  li u

L p Http Request

 L y d  li u t

ữ ệ ừ ầ ử ủ các ph n t c a form hay

: Cú pháp:

16

Request.QueryString[“varName”]; Request.QueryString[“varName”];

L p Http Request

ộ ủ

ầ ử ủ c a  form  chuy n  t : ể ừ Các thu c tính c a QueryStringCollection  Count:  tr   v   s   ph n  t

ả ề ố ế client đ n server Cú pháp:

17

Numelement=Request.QueryString.Count; Numelement=Request.QueryString.Count;

L p Http Request

ứ ả ề  Keys[i]: tr  v  tên c a ph n t

ầ ử ạ ị ủ  t i v  trí th  i,  ớ ế ị ừ  0 đ n n­1 v i

 Cú pháp:

trong đó i có giá tr  t n=Request.QueryString.Count

Varfield=Request.QueryString.Keys[i]; Varfield=Request.QueryString.Keys[i];

18

Ví d :ụ

L p Http Request

txtUser

txtPwd

19

UserName:


L p Http Request

 T i Server (file CheckUser.aspx), l y giá tr  c a

ị ủ ấ ạ

UserName và Password

<% string strUser, strPws;

strUser = Request.QueryString["txtUser"];

strPws = Request.QueryString["txtPwd"];

20

%>

L p Http Request

 Ho c: Trong các HyperLink

  Scholaship of IBM

typeNews and

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

21

T iạ  ReadNews.aspx mu n l y giá ử ụ NewsID, s  d ng cú pháp ố ấ :

L p Http Request

ậ ợ

ể ư

3. T p h p Cookies (CookiesCollection) ữ  Cookies  là m t m u thông tin nh  dùng đ  l u tr

ủ ỏ ẫ client  i dùng trên máy

ộ ườ thông tin c a ng ạ  Cookies có 2 d 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”]

22

ề ề

[“hhhhhh”]:

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:

23

Numelement=Request.Cookies.Count; Numelement=Request.Cookies.Count;

L p Http Request

ứ ả ề  Keys[i]: tr  v  tên c a ph n t

ầ ử ạ ị ủ  t i v  trí th  i,  ớ ế ị ừ  0 đ n n­1 v i  trong đó i có giá tr  t n=Request.Cookies.Count

Cú pháp:

24

Varfield=Request.Cookies.Keys[i]; Varfield=Request.Cookies.Keys[i];

L p Http Request

Ví d :ụ

25

<% 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;        }   %>

L p Http Response

ượ ữ ệ ể ề c s  d ng đ  truy n d  li u

ử ụ Http Response đ ế webserver đ n webBrowser

Data

26

L p Http Response

ị ộ Các thu c tính  Buffer: có 2 giá tr  ị true và false quy đ nh cách

ề ả ữ ệ i d  li u:

ộ ầ ử ệ ấ t công vi c và g i m t l n

ử ế ự ệ ế truy n t  True: Hoàn t  False: Th c hi n xong đ n đâu thì g i đ n

27

đó

L p Http Response

Cú pháp:

Response.Buffer=true/false; Response.Buffer=true/false;

ả ả ề ế ế ế ố

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

28

ể ệ ượ ử ụ c th  hi n trong asp.Net là l p đ ớ Httpcookies

L p Http Response

 Kh i t o bi n cookies

ở ạ ế :

Httpcookies varck= new Httpcookies(“CkName”); Httpcookies varck= new Httpcookies(“CkName”);

 Ghi cookie vào client

29

varck.Value =value; varck.Value =value;

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.Add(varck);

30

Response.Cookies.Clear(); Response.Cookies.Clear();

ở ạ

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 %>

31

L p Http Response

// Đ c Cookies

ọ v = Request.Cookies[“Infor”].value ;

//  result :v=”abc”,”xyz”,”123” // hay dùng

32

v1 = Request.Cookies[“Infor”] [“Us”];//abc v2 = Request.Cookies[“Infor”] [“Pwd”];//xyz v3 = Request.Cookies[“Infor”] [“Author”];//123

L p Http Response

ươ ứ ng th c

Các ph  Clear(): Xóa vùng t mạ

Cú pháp:

Response.Clear() Response.Clear()

 End(): K t thúc ti n trình x  lý trên Server và

ế ữ ệ ớ ẩ

 Flush(): K t thúc ti n trình, quay l

ạ ự ệ đ y d  li u t ế ế i Client ế i th c hi n

33

ti pế

ớ L p Http Response Ví d :ụ <%    int i;    Response.Buffer = true;    for (i = 1; i < 10000; i++)    {%>       <%=i%>

34

<%if (i % 10000 == 0) Response.Flush();%>

<%}%>

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  ố

ẽ ự ế ệ

 N uế  s   Boolean  =false  thì  khi  th c  hi n

ự xong l nh Response s  th c hi n ti p ự ệ

35

ẽ ừ ệ ố ệ xong l nh Response s  d ng

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

}

36

L p Http Response

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

ữ ệ

<%  = strname   %> <%  = strname   %>

ho cặ ho cặ

37

Response.Write(strname) Response.Write(strname)

L p Http Server

ố ượ  Đ i t ể ấ

ề ề ng Server ữ ể ỗ i, encode, …

ứ ươ ấ ng th c giúp   cung c p các ph ớ chuy n  đi u  khi n  gi a  các  trang  v i  nhau,  l y  thông tin v  mã l ộ  Các thu c tính

 MachineName: tên server  ScriptTimeout: thi

ế ậ ử ố t l p thgian x  lý t i đa 1 file

38

ế ậ ặ ị Ví d : ụ Server.ScriptTimeout=100s //thi t l p thgian m c đ nh

L p Http Server

ươ

ạ ườ ẫ ả ng d n  o thành

ứ Các ph ng th c  MapPath(“URL”): ánh x  đ ộ ậ ậ ườ ẫ ng d n v t lý cho m t t p tin trên Server

đ  Cú pháp:

Server.MapPath(path) Server.MapPath(path)

 Path là chu i th c hi n đ ỗ

ườ ẫ ươ ố ng d n t ng đ i

ệ ụ ả ề ủ ậ ươ ứ ự ệ ng  th c  s   tr   v   chu i  hi n  th c

39

 Ph đ

ủ ậ ườ ậ ẫ ự ứ c a t p tin trên  ng d ng Web ỗ ẽ ng d n v t lý c a t p tin đó.

L p Http Server

 HtmlEncode(str):  dùng  đ   mã  hoá  HTML

thành chu i ỗ Cú pháp:

40

Server.HTMLEncode(str) Server.HTMLEncode(str)

L p Http Server

ỗ ỗ

 Khi  mã  hoá  chu i  HTML  sang  chu i  bình   nh   sau  s  chuy n

ự ư ể ẽ ườ

th sang ký t ặ ế ng  n u  g p  các  ký t ứ ự ươ ng  ng:  t

 Ký t

ự ể

 Ký t

ự ể >chuy n thành >

 Ký t

ự ể & chuy n thành &

 D u đôi “ chuy n thành "

41

ể ấ

L p Http Server

 HtmlDecode(strcontent):gi Ví d :ụ

ả ẻ i mã các th  HTML

42

ế ả Str=”n>5” Str=server.HtmlDecode(str); // k t qu  n>5

L p Http Server

ừ t c  thông tin mà nó đã x  lý t

ử ấ ả  Transfer: g i t ệ ử trang ASP hi n hành sang trang ASP khác

Cú pháp:

Server.Transfer(path) Server.Transfer(path)

ủ ậ ẫ ng d n c a t p

43

ườ ể ề ể ầ Trong đó, tham s  ố path là đ tin ASP c n chuy n đi u khi n.

L p Http Server

T

ứ ứ ươ ươ ng  ươ ng  th c  URLEncode:  ng ng

tự  nh  ư ươ  Ph ứ th c  th c  HTMLEncode,  ph ph ỗ URLEcode dùng đ  mã hoá URL thành chu i  Cú pháp

44

Server.URLEncode(str) Server.URLEncode(str)

L p Http Server

 Khi mã hoá chu i URL sang chu i bình th

ườ

ư ể ẽ ỗ ng   nh  sau, s  chuy n sang ký

ự ấ ố s  ẽ

45

ỗ ự ặ ế n u g p các ký t ứ ự ươ ng  ng:  t t  Ký t  ự kho ng tr ng ả  Ký t  ự không thu c ký t ể ắ  chuy n thành d u + ể ữ ộ  ch  và s ố chuy n thành s  hexadecimal.

L p Http Server

 Ph

ươ ứ Ph ng th c ng th c CreateObject:

ươ ể ạ ố ượ ứ này  ng

 Cú pháp

ầ ị ả ề (không có giá tr  tr  v ) dùng đ  t o đ i t thành ph n trên Server

Server.CreateObject(progid) Server.CreateObject(progid)

 Tham s  progid ch   đ nh lo i  đ i  t

ạ ố ượ ị ỉ ầ ng c n

ạ ố ớ ị ạ t o v i đ nh d ng

46

[Vendor.] Component[.Version]

L p Http Server

Ví dụ:

Tạo đối tượng ADODB.Connection, ADODB.Recordset, MSWC.AdRotator, ...

<%         Set

47

myAd=Server.CreateObject(MSWC.AdRota tor)         Set

myCon=Server.CreateObject(ADODB.Conn ection)         Set

myCon=Server.CreateObject(ADODB.Recor

dset)

%>`

L p Http Server

 Ph

ứ ươ

ị ả ề ư ộ ử

 Cú pháp

ộ ậ ả ầ không  có  giá  tr   tr   v ,  ng  th c Execute:  ể ọ 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

Server.Execute(path) Server.Execute(path)

ậ ủ ụ ẫ ư ọ ầ ề

 Path là đ ườ ng d n và tên t p tin asp c n th c  ự thi, t  nh  g i th  t c trong nhi u ngôn  ng t ng  l p trình khác.

48

ươ ữ ậ

Session

ộ ng Session

ể ư ượ ử ơ ả  là m t websever c  b n  s   c dùng đ  l u

ố ượ  Đ i t ụ ữ ạ d ng trong ASP và ASP.NET đ 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  ố ớ ế ườ ỗ i  dùng  m i  k t  n i  vào  ế ủ ự ộ  đ ng h y chúng n u phiên làm

49

ng d ng và t ệ Session  cho  m i  ng ụ ứ ế vi c k t thúc

Session

 Kh i t o:

ở ạ

Session[“SessionName”]=value Session[“SessionName”]=value

 L y giá tr  t

ị ừ ế ấ bi n Session

varName=Convert.ToString(Session[“SessionName”]) varName=Convert.ToString(Session[“SessionName”])

Session[“SessionName”]=Session[“SessionName”]

+value + @

50

ể ể ọ ị @: dùng đ  tách các giá tr  (có th  ch n tùy ý)

Session

ị ờ ả

ề ạ

ế i Server. ế ở ị

ờ ố

51

ẽ ự ộ ượ ả 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 ủ ị ặ  Giá tr  m c đ nh c a Timeout là 20. N u không  ầ ể ừ ầ ầ   l n  yêu  c u  sau  cùng  có  yêu  c u  nào  k   t ả ộ m t  kho ng  th i  gian  là    phút,  đ i  ượ ng Session mà Web server c p cho l n làm  t ệ c gi vi c đó s  t ấ i phóng. đ ng đ

Session

 Nh ng  yêu  c u  sau  đó,  web  server  coi  nh   là  ng

ư ộ ố ượ ẽ ấ ườ ớ i dùng m i, và s  c p m t đ i t

ữ ộ m t ng Session m i ớ

Ví d :ụ

ế ậ t l p th i gian cho

 Có th  thi

ờ Session.TimeOut = 100 //Thi ủ ệ 1 phiên làm vi c c a user là 100 phút  ậ ộ ế ậ ể t l p thu c tính này trong t p tin

Web.config trong 

52

Session

 SessionID:  ch a  ID  c a

ạ ựơ ệ ủ  session  đang  kích  ở t  b i  sessionID c  phân  bi

ệ ọ

53

ứ ỗ ho t,  m i  user  đ g i là mã phiên làm vi c. ả ề ố ộ ứ ụ    Count: tr  v  s  session trong m t  ng d ng

Session

ứ ươ

ớ ượ i  phóng  vùng  nh   đ

ự ữ

ư ộ c  dùng  ng  Session  trên  Web  Server  ầ c  g i  th c  hi n.  Nh ng  yêu  c u  ườ i ệ ượ c Web server coi nh  là m t ng

ng th c Ph ả  Abandon():  gi ố ượ đ   duy  trì  đ i  t ọ ngay  khi  đ ượ sau đó đ dùng m i. ớ

 Remove(“SessionName”): xoá d  li u trên

ữ ệ

ế bi n “VarSession”

 RemoveAll(): Xoá d  li u, nh ng sessionID

ữ ệ ư

54

ẫ ồ ạ v n t n t i

Session

ạ ậ Ví dụ: T o ch c năng đăng nh p và thoát

ừ Add new item 

55

ứ ọ T  Menu ch n Website  ặ Web User Control, đ t tên là Login.aspx  ế ế ư ệ t k  giao di n nh  sau: Thi

Session ở ạ

ườ

i dùng

Kh i t o và Hu  thông tin đăng nh p c a 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;

ế ậ

t l p th i gian TimeOut cho m i phiên là 30 phút

// Thi

ư

ậ   ủ // Đ t tr ng thái ban đ u c a user là ch a đăng nh p

ờ Session.Timeout = 30;  ặ ạ Session["LOGIN_OK"] = false;

56

}

protected void btnLogin_Click(object sender, EventArgs e)  {       if (Authority(txtUserName.Text, txtPassword.Text))      {

ư

i chào m ng  ạ

ậ // 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 ừ 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;

57

}  }

Session

protected bool Authority(string user, string pwd)  {

if (user == "aaa" && pwd == "1234")  {

return true;

}

return false;

58

}

Application

ử ụ ể ả đ

ng Application ủ ụ

ộ ứ ự ệ

ư ụ ủ ụ ượ ố ượ  Đ i t c s  d ng đ  qu n lý  ấ ả t  c   các  thông  tin  c a  m t  ng  d ng  web,  bao  t ồ 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  i s  d ng có th  truy

ườ ử ụ ể ọ

59

ố ượ ở ạ sau khi kh i t o thì m i ng ậ c p đ i t ng này

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

ụ ứ ế

60

thúc.

Application

ở ạ :  ng  ấ ỳ ượ ạ c t o khi client yêu  ứ ụ

 Kh i t o ố ượ Application đ Đ i t ầ c u b t k  trang nào trong  ng d ng

61

Application[“TenBien”] = “Value” ;  Application[“TenBien”] = “Value” ;

Application

 L y giá tr

ấ ị:

62

string s = (string) Application[“chuoi”] ; string s = (string) Application[“chuoi”] ; int count = (int) Application[“count”] ; int count = (int) Application[“count”] ;

Application

ở ạ

ượ ệ ườ ố ư Ví d : ụ Kh i t o và l u thông tin S  ng i duy t  ầ ạ ầ c kích ho t l n đ u tiên  website khi website đ

void Application_Start(object sender, EventArgs e)  {

ở ạ ế ố Application["SoKhachVieng"] = 0; ầ // Kh i t o s  khách vi ng ban đ u là 0

63

}

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

64

}

Application

ố ấ ế

ể ở ử ở ch  đ  View Code, X  lý

ế ộ ư 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  trong hàm Page_Load nh  sau:

protected void Page_Load(object sender,  EventArgs e)  {

ế ố

65

lbtCount.Text = "S  khách vi ng thăm :" +  Application["SoKhachVieng"].ToString();

}