1. 程式人生 > 其它 >11月18號

11月18號

一、Request.QueryString

  1.QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的位址列中。如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對於傳遞陣列或物件的話,就不能用這個方法了。

  2.使用方法:

在源頁面的程式碼中用需要傳遞的名稱和值構造URL地址。
在源頁面的程式碼用Response.Redirect(URL);重定向到上面的URL地址中。
在目的頁面的程式碼使用Request.QueryString["name"];取出URL地址中傳遞的值。
二.Request.Form

1、Request.Form獲取窗體變數集合。有兩過載,即Request.Form[stringname]和Request.Form[intindex]。

2、獲取表單指定名字的引數值。

三、Session

1.作用於使用者個人,所以,過量的儲存會導致伺服器記憶體資源的耗盡。

2.當客戶端向伺服器傳送一個請求時,如登陸使用者ID,伺服器接收到該請求,伺服器端Session產生一個與該登陸使用者相關的SessionID,並將SessioID返回給客戶端(Goggle,Firefox,IE等),在新會話開始時,伺服器將SessionID當做cookie儲存在使用者的瀏覽器中。

 3.優缺點

優點:1.使用簡單,不僅能傳遞簡單資料型別,還能傳遞物件。
     2.資料量大小是不限制的。

缺點:1.在Session變數儲存大量的資料會消耗較多的伺服器資源。
     2.容易丟失。

 4.使用方法:1.在源頁面的程式碼中建立你需要傳遞的名稱和值構造Session變數:Session["Name"]="Value(或object)";

       2.在目的頁面的程式碼使用Session變數取出傳遞的值。Result=Session["Nmae"]

  session不用時可以銷燬它,銷燬的方法是:

清除一個:Session.Remove("session名");
清除所有:Session.Clear();
四、Cookie

1.Cookie用於在使用者瀏覽器上儲存小塊的資訊,儲存使用者的相關資訊,比如使用者訪問某網站時使用者的ID,使用者的偏好等,使用者下次訪問就可以通過檢索獲得以前的資訊。

2.Cookie是存放在客戶端的,而session是存放在伺服器端的。而且Cookie的使用要配合ASP.NET內建物件Request來使用。

3.使用方法:

建立cookie

    HttpCookiecookie=newHttpCookie("UserInfo");//建立多值cookie
cookie.Expires=DateTime.Now.AddDays(1);//設定cookie的失效時間為一天,如果不設定失效時間,cookie會在瀏覽器關閉即消失,不會儲存本地檔案
cookie.Values["LoginName"]=txtusername.Text;

   cookie.Values["Pwd"]=txtusername.Text;

    這樣建立了一個key為UserInfo的cookie,具有LoginName和Pwd兩個屬性。

    建立為cookie不要忘記新增cookie,否則是取不出來的

    Response.Cookies.Add(cookie);

注:如果使用response.Cookies建立cookie就不用寫上一句程式碼了。

取cookie

    HttpCookiecookies=Request.Cookies["UserInfo"];//取cookie

    txtusername.Text=cookies.Values["LoginName"];//取cookie的LoginName屬性賦值給帳號文字框
    txtpass.Attributes.Add("value",cookies.Values["Pwd"]);//密碼框不能直接賦值,使用新增屬性可以賦值



Session與Cookie配對使用,Session在伺服器端產生SessionID,並將該SessionID返回給客戶端(IE,FireFox,Google等),客戶端Cookie來儲存該SessionID,整過會話過程中,只要儲存SessionID的Cookie不丟失,則Session的資訊就不會丟失。