程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET跨頁面傳值技巧

ASP.NET跨頁面傳值技巧

編輯:關於ASP.NET

關於頁面傳值的方法,引發了很多討論。看來有很多人關注這個,我就我個人觀點做了些總結,希望對大家有所幫助。

1.使用QueryString變量

QueryString是一種非常簡單的傳值方式,他可以將傳送的值顯示在浏覽器的地址欄中。如果是傳遞一個或多個安全性要求不高或是結構簡單的數值時,可以使用這個方法。但是對於傳遞數組或對象的話,就不能用這個方法了。下面是一個例子:

a.aspx的C#代碼

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中C#代碼

private void Page_Load(object sender, EventArgs e)
{
Label2.Text = Request.QueryString["name"];
}

2.使用Application 對象變量

Application對象的作用范圍是整個全局,也就是說對所有用戶都有效。其常用的方法用Lock和UnLock。

a.aspx的C#代碼

private void Button1_Click(object sender, System.EventArgs e)
{
Application["name"] = Label1.Text;
Server.Transfer("b.aspx");
}

b.aspx中C#代碼

private void Page_Load(object sender, EventArgs e)
{
string name;
Application.Lock();
name = Application["name"].ToString();
Application.UnLock();
}

3.使用Session變量

想必這個肯定是大家使用中最常見的用法了,其操作與Application類似,作用於用戶個人,所以,過量的存儲會導致服務器內存資源的耗盡。

a.aspx的C#代碼

private void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = Label.Text;
}

b.aspx中C#代碼

private void Page_Load(object sender, EventArgs e)
{
string name;
name = Session["name"].ToString();
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved