C# 頁面之間傳值傳參的6種方法

.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();

表單提交中getpost方式的區別概括以下幾點:post

1.get是從服務器上獲取數據,post是向服務器傳送數據。url

2.get是把參數數據隊列加到提交表單中的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URl中能夠看到。post是經過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一塊兒傳送到ACTION屬性所指的URL地址。用戶看不到這和過程。spa

3.對於get方式,服務器端用Request.QuertString獲取變量的值,對於post方式,服務器端用Request.Form獲取提交的數據。code

4.get傳送的數據量較小,不能大於2KB。post傳送的數據較大,通常被默認爲不受限制。但理論上IIS4中最大爲80KB,IIS5中爲100KB。orm

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相似,做用於用戶我的,因此,過量的存儲會致使服務器內存資源的耗盡。

相關文章
相關標籤/搜索