2011-11-08 79 views
3

我的情景,如何在兩個或多個aspx頁面之間傳遞會話變量?

我使用asp.net 2.0。我有網站,它創建一個唯一的ID,它被插入到數據庫中,並顯示在不可見的文本框中。現在我需要將此ID發送到下一頁。我用過會話(「MemberId」)= Txtnewid.Text。它不工作當我分配給變量字符串時,它顯示零值。請幫幫我 。在此先感謝

回答

3

您不需要將值存儲在文本框中。所有你需要做的就是獲取id並在第一次創建時在會話中插入它;在同一頁面或網站中的其他任何後續請求,您可以通過訪問這個ID:

string id = Session["MemberId"] as string; 

或者在VB語法:

dim id as String = Session("MemberId") 
2

假設C#的代碼隱藏,設置會話變量如: -

 Session["MemberId"] = "MemberId"; 

拿回來進入下一個頁面; -

if (Session["MemberId"] != null) 
    { 
    textBox1.Text = "Successfully retrieved " + (string)Session["MemberId"]; 
    } 

閱讀有關ASP.NET Session State

2

有不同的方法可以將值從一個頁面傳輸到另一個頁面。最常見的方法是

  1. 會議
  2. 查詢字符串

1.aspx.cs //第一頁

Guid uniqueid = new Guid(); 

//Above code line will generate the unique id 

string s_uniqueid = uniqueid.ToString(); 

// Convert the guid into string format 

Session.Add("MemberId",s_uniqueid); 

// Store the string unique id string to session variable so far called MemberId 

2.asp.cs //第二頁

string s_MemberId = Session["MemberId"].ToString(); 
Now you can use this string member id for any other process. 

使用查詢字符串,如果你正在使用asp.net AJAX開發應用的值從一個頁面轉移到另一個 ,那麼你需要使用Response.Redirect方法還有Server.Transfer的

像 1.aspx。 CS //首頁

Guid uniqueid = new Guid(); 

//Above code line will generate the unique id 

string s_uniqueid = uniqueid.ToString(); 

如果你願意,s_uniqueid使用加密

Response.Redirect("2.aspx?uid=" +s_uniqueid+ ""); 

2.asp.cs //第二頁

string ss_uniqueid = Request.QueryString["s_uniqueid"]; 

然後用另一個進程

相關問題