一.QueryString傳值:
QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在瀏覽器的地址欄中。在傳遞一個或多個安全性要求不高或是結構簡單的值時,可以使用這個方法。但是對於傳遞數組或對象的話,就不能用這個方法。如下段代碼:
a.aspx中的代碼
private void Button1_Click(object sender, System.EventArgs e)
{ string s_url; s_url = "b.aspx?name=" + Label1.Text; Response.Redirect(s_url); }
b.aspx中的代碼
private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
}
query傳值又分類 post,get 例如
//post請求 string name =Request["name"].ToString(); string name=Request.From.Get("name").ToString(); //get請求 string name = Request.QueryString["name"].ToString();
無論它是post還是get傳值都可以用如下
string name = Request["name"].ToString();
表單提交中get和post方式的區別歸納如下幾點:
1.get是從服務器上獲取數據,post是向服務器傳送數據。
2.get是把參數數據隊列加到提交表單中的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URl中可以看到。post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。用戶看不到這和過程。
3.對於get方式,服務器端用Request.QuertString獲取變量的值,對於post方式,服務器端用Request.Form獲取提交的數據。
4.get傳送的數據量較小,不能大於2KB。post傳送的數據較大,一般被默認為不受限制。但理論上IIS4中最大為80KB,IIS5中為100KB。
5.get安全性非常低,post安全性較高。
二.使用Application 對象變量:
Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。此種方法不常使用,因為Application在一個應用程序范圍共享,所有用戶可以改變及設置其值,故只應計數器等需要全局變量的地方。其常用的方法用Lock和UnLock。
private void Button1_Click(object sender, System.EventArgs e) { Application["name"] = Label1.Text; Server.Transfer("b.aspx"); }
b.aspx中的代碼
private void Page_Load(object sender, EventArgs e) { string name; Application.Lock(); name = Application["name"].ToString(); Application.UnLock(); }
三.使用Session變量
Session其操作與Application類似,作用於用戶個人,所以,過量的存儲會導致服務器內存資源的耗盡。