Web內置對象 跨頁面傳值

內置對象:安全

1.QueryString - 地址欄數據拼接 get傳值方式服務器

格式:?key=value優勢:簡單好用,速度快,不消耗服務器內存。 缺點:只能傳字符串,保密性很差,長度有限cookie

Request - 獲取請求對象網站

Request["key"] - 默認返回的就是string類型編碼

Response - 響應請求對象加密

Response.Redirect(path); 頁面重定向,path是重定向的地址spa

Response.Write("  aaaa  "); 輸出內容,通常用於輸出JS語句。code

Server.Transfer(path);頁面重定向 對象

Session相對全局對象blog

Session是很是安全的,由於它存在於服務器的內存中,取數據也是最快的

可是,Session不要濫用,由於會形成服務器內存溢出,致使服務器崩潰

Session裏面不要放大東西,若是不用那麼就會形成資源浪費

Session生命週期:只要頁面有提交活動,則Session的全部項都會保持,頁面在20分鐘(默認配置)內沒有任何提交活動時Session會失效。Session內存儲的多個數據項是總體失效的。

 建立   Session["user"] = 值;

    Session["user"]object類型使用時轉成相應的類型 

Cookies

會話Cookies的生命週期是:20分鐘

Cookies是存在用戶電腦的硬盤上

建立  Response.Cookies["user"].Value =值;

取值

 

 1 if (Request.Cookies["user"] != null)//先判斷cookies有沒有內容
 3         {
 5             Label1.Text = Request.Cookies["user"].Value;
 7         }
 9         else// 沒有內容
11         {
13             Response.Redirect("Default.aspx");
15         }

持久Cookies,保存時間由網站代碼來設置

Response.Cookies["user"].Expires = DateTime.Now.AddDays(7);

 

若是使用Cookies必需要存放漢字 在別的頁面是不顯示的 須要特定的編碼方式

//建立Cookie ,用UrlEncode方法,TextBox1.Text須要被編譯的內容,System.Text.Encoding.GetEncoding("utf-8")編碼方式
Response.Cookies["as"].Value = HttpUtility.UrlEncode(TextBox1.Text, System.Text.Encoding.GetEncoding("utf-8"));
//取值 ,用UrlDecode方法
Label1.Text = HttpUtility.UrlDecode(Request.Cookies["as"].Value, System.Text.Encoding.GetEncoding("utf-8"));

Application

它是全局對象,全局只有這一個對象

只要被建立出來,全部人取的值都是同樣的

生命週期:永久

保存位置:服務端

Application["key"] 是全部的用戶獲取這個key裏面的值都是同樣的, 沒有保存週期,他會一直保存着, 一般用做版本號

賦值:Application["key"]=值;
取值:Application.Get("key");

ViewState:記錄上一個頁面的信息

ViewState 屬性提供一個字典對象,用於在對同一頁的多個請求之間保留值。這是頁用來在往返行程之間保留頁和控件屬性值的默認方法。在處理頁時,頁和控件的當前狀態會散列爲一個字符串,並在頁中保存爲一個隱藏域或多個隱藏域(若是存儲在 ViewState 屬性中的數據量超過了 MaxPageStateFieldLength 屬性中的指定值)。當將頁回發到服務器時,頁會在頁初始化階段分析視圖狀態字符串,並還原頁中的屬性信息。也可使用視圖狀態來存儲值。在默認狀況下,ViewState不被加密,而且發生服務器-客戶端數據傳輸。

ViewState的關鍵特性有:存儲於頁面上,與會話且與頁面相關,被序列化,默認發生服務器-客戶端傳輸,默認不被加密。
至於在什麼樣的狀況下ViewState不發生服務器端-客戶端傳輸,或者被加密,咱們將在後面的章節中予以講述。

ViewState雖然不可以跨頁面共享數據,可是在同一個頁面裏,能夠用於在對同一頁的多個請求之間保留值。

相關文章
相關標籤/搜索