標籤:
1、Response和Request
地址欄資料拼接 QueryString
優點:簡單好用;速度快;不消耗伺服器記憶體。
缺點:只能傳字串;保密性差(調轉頁面後在地址欄顯示);長度有限。
響應請求對象 Response
擷取請求對象 Request
(1)跳轉頁面
Response.Redirect(path);//重新導向,可以跳轉任何網頁
Rerver.Trandfer(path);//跳轉後地址欄的網址不改變,只能跳轉該網站根目錄下的網站
Respone.Write("<script>JS語句</script>");
(2)頁面傳值
步驟:
1)拼接資料
String path="相對路徑?aaa=" +TextBox1.Text+"&bbb="+TextBox2.Text;
注意:資料拼接是英文狀態的符號,並且不能有空格。
2)跳轉頁面
3)接收資料
//括弧內的字串是資料拼接路徑問號後面的等號之前的字串
Label1.Text=Request["aaa"];
Label1.Text+=Request["bbb"];
2、Session相對全域對象
Session是非常安全的,因為它存在於伺服器的記憶體中,取資料也是最快的;
但是,Session不要濫用,因為會造成伺服器記憶體溢出,導致伺服器崩潰
Session裡面不要放大東西,如果不用那麼就會造成資源浪費
Session生命週期:20分鐘,重新整理介面會重新計時
接受介面如果Session為空白會報錯,要判斷是否為空白
//賦值Session["NickName"] = dl.NickName; Response.Redirect("Mainweb.aspx");//取值if (Session["NickName"] != null) { //Session["NickName"]取值並給Literal1賦值 Literal1.Text = " 歡迎您:" + Session["NickName"].ToString() + "<br/>"; }
3、Cookies
Cookies裡面可以存內容,但是存的只能是字串
會話Cookies的生命週期是:20分鐘
持久Cookies,儲存時間由咱們網站代碼來設定
Cookies是存在使用者電腦的硬碟上
//賦值:Response.Cookies["NickName"].Value = HttpUtility.UrlEncode(dl.NickName); Response.Cookies["NickName"].Expires = DateTime.Now.AddDays(7); Response.Redirect("Mainweb.aspx");//取值 if (Request.Cookies["NickName"] != null ) { //HttpUtility.UrlDecode(Request.Cookies["userName"].Value, enc); Literal1.Text = " 歡迎您:" +HttpUtility.UrlDecode( Request.Cookies["NickName"].Value) + "<br/>"; }
如果傳遞的值是漢字,需要編碼和解碼
//第一個參數是傳遞的值
HttpUtility.UrlEncode("",System.Text.Encoding.GetEncoding("utf-8"));//編碼HttpUtility.UrlDecode("",System.Text.Encoding.GetEncoding("utf-8"))//解碼
4、Application
它是全域對象,全域只有這一個對象
只要被建立出來,所有人取的值都是一樣的
生命週期:永久
儲存位置:服務端
賦值:Application["banben"]="1.3"
取值:Label1.Text=Application["banben"].ToString();
5、ViewState:(瞭解)
病曆,記錄上一個頁面的資訊
ViewState的範圍是頁面,也就是說ViewState是儲存在瀏覽器的頁
面之中的(這裡相比Session等,耗費的伺服器資源較少),當你關閉
某個aspx檔案後,那麼屬於這個aspx的ViewState也就不存在了。
我們在aspx.cs代碼中為某些伺服器控制項設定的值(例如:為Repeater設
置DataSource中存入的資料集、為Label所設定的Text內容等,但不包括:
TextBox、CheckBox、CheckboxList、RadioButtonList)都存入了ViewState中
。這樣做的話,我們下次再向伺服器提交請求時,現有表單中所有的伺服器控
件狀態都會記錄在ViewState中提交到伺服器,在伺服器端可以方便地對這些服
務器控制項進行有狀態的操作並返回。
webform內建對象