M c dù Webatrix và S Visual StudiọNET đu lành ng công c phát trin m ng rt tu yt vi và hoàn ch nh nh ng có vài đ im khác bi t c n l u ý nh sau:
Liê nh (Access) vi Cookies
Client browser g i t t c thông tin Cookie t i Server m i khi yêu c u hi n th (display) trang Web. Ta có th dùng đ i t ng (Object) Request to thu th p các thông tin đó. Ta dùng cùng 1 cú pháp nh ph n 'T o ra Cookies' đ liên h v i cookie, t nh thu đ t giá tr và vi t tr l i Client browser nh sau:
'Cho ki u Cookies đa d ng,đ n giá tr
ResponsẹWrite(Request.Cookies("MyCookie1").Value)
ResponsẹWrite (Request.Cookies("MyCookie2").Value)
'Cho ki u Cookie đ n d ng, đa giá tr
ResponsẹWrite (ResponsẹCookies("MyASPNETPage").("Username")) ResponsẹWrite (ResponsẹCookies("MyASPNETPage").("Password"))
Bài t p 1:
M c đích:
Trong bài t p này, ta s xây d ng m t trang ASP.NET dùng Cookies đ l u tr 1 s thông tin Client browser và sau đó liên h , v n d ng và hi n th (display) các thông tin đó trên cùng 1 trang Web. Các b c th t nh sau:
1. Ch y ng d ng Notepad và gõ hàng mã sau: <%@ Page Language="VB" %>
<script runat="server">
sub Page_Load(obj as object, e as eventArgs) dim strVariable as string
'set up some cookie variables
ResponsẹCookies("MyASPNETPage")("Username") = "Nang Vu" ResponsẹCookies("MyASPNETPage")("Password") = "TakeMeHome" ResponsẹCookies("MyASPNETPage")("Preference") = "800x640" ResponsẹCookies("MyASPNETPage")("UserAgent") = _
Request.ServerVariables("HTTP_USER_AGENT")
for each strVariable in ResponsẹCookies("MyASPNETPage").Values lblCookies.Text += "<b>" & strVariable & "</b>: " & _
Request.Cookies("MyASPNETPage")(strVariable) & "<br>" next end sub </script> <html> <body>
<form runat="server">
<asp:Label id="lblCookies" runat="server"/> </form>
</body> </html>
2. L u tr t p tin v i tên Cookies.aspx folder 'D:\Net\Vovisoft ASPNET\Bai05\Cookies' và ch y IE v i URL nh sau: http://cantho/VovisoftASPNET/Bai05/Cookies/Cookies.aspx
Ph n chú thích:
'set up some cookie variables
ResponsẹCookies("MyASPNETPage")("Username") = "Nang Vu" ResponsẹCookies("MyASPNETPage")("Password") = "TakeMeHome" ResponsẹCookies("MyASPNETPage")("Preference") = "800x640" ResponsẹCookies("MyASPNETPage")("UserAgent") = _
Request.ServerVariables("HTTP_USER_AGENT")
trên, ta đã bàn qua v vi c b trí 'key/valué cho Cookies 'MyASPNETPagé t nh key tên "Username" cho giá tr "Nang Vu". hàng mã cu i, ta dùng b s u t p (collection)
Request.ServerVariablesđ thu l m giá tr c a m t trong các thành viên c a nó là
HTTP_USER_AGENT.
Thành viên HTTP_USER_AGENT này cho ta bi t phiên b n browser cu máy Client. for each strVariable in ResponsẹCookies("MyASPNETPage").Values
lblCookies.Text += "<b>" & strVariable & "</b>: " & _
Request.Cookies("MyASPNETPage")(strVariable) & "<br>" next
đây, ta dùng For Each ... Next loop đ tìm l i giá tr c a t ng 'keý trong cookie 'MyASPNETPagé và hi n th các c p key/value thành t ng hàng m t nh HTML tag '<br>'.
V vi c dùng For Each ... Next loop, ta s tham kh o riêng bài 6 '.NET Framework và VB.NET'.
HttpApplication Object bi u hi n cho ng d ng (application) ASP.NET . ph n m c này, ta ch s l t v HttpApplication Object và s đào sâu thêm chi ti t các bài saụ
Xin nh c l i đây, ASP.NET đnh ngh a ng d ng (application) bao g m t t c m i t p tin k c các sub folder và các t p tin trong đó 1 virtual directory t nh VovisoftASPNET mà ta v n th ng s d ng.
C ng t ng t nh đ i t ng (Object) Response, ASP.NET t o ra 1 HttpApplication Object g i là Application ch khi nào ng d ng (application) c a ta kh i đ ng - ngh a là khi có user yêu c u tham kh o trang Web trong site c a ta l n đ u tiên. L u ý ch có duy nh t m t Application object đu c t o ra cho toàn b ng d ng (application) mà thôi, không nh Session object đ c t o ra riêng bi t cho t ng user m t. Tuy v y, HttpApplication Object gi ng Session Object ch : HttpApplication Object c ng đ c dùng đ l u tr các bi n s và các đ i t ng (Object) liên h . Các bi n s và các đ i t ng này có hi u l c (available) cho toàn b ng d ng (application) ch không cá bi t cho m t aị
Thí d , ta mu n hi n th (display) 1 'footer' hay 'disclaim' cu i m i trang Web, ta l u tr bi n s (variable) t nh 'Disclaimer' c a ng d ng (application) nh sau:
Application("Disclaimer") = "Copyright 2002"
và sau đó, m i trang Web ta thu l m l i: ResponsẹWrite(Application("Disclaimer"))
Vi c dùng HttpApplication Object có th giúp ta tránh r memory vì ch l u tr 1 l n nh ng dùng m i trang Web. Ng c l i, n u ta l u tr c ng cùng m t thông tin v i Session object, ASP.NET s l u tr riêng bi t cho t ng user và ta có th hi u đ c vi c gì s x y ra n u hàng tr m ho c hàng nghìn (hay hàng tri u) user ... 'đ n h n l i lên' cùng m t lúc.
HttpServerUtility Object
HttpServerUtility Objectđ c dùng đ cung c p nhi u 'helper methods' giúp gi i quy t ti n trình yêu c u (used in processing requests) c a user. Ta có th dùng object này d i tên g i là Serverđ liên h các thành viên c a HttpServerUtility Object. Các 'helper methods' có th k ra nh sau: