2013-10-03 140 views
-1

我需要在同一應用程序的兩個不同的aspx頁面之間共享數據(字符串,列表,數組)。如果我不想使用cookie並且不希望數據在url中可見,那麼做到這一點的最佳方法是什麼?在aspx頁面之間共享數據

a) Form post method 
b) Session (cookies?) 
c) Sql 
d) Server.Transfer 

感謝

回答

1

在內存Session將是最簡單和最快的(發展明智的)來存儲頁面之間的數據,而它們的內容是在查詢字符串(URL)可見,像這樣:

要存儲在Session一個List<string>,做到這一點:

var listOfStrings = new List<string>(); 
listOfStrings.Add("1"); 
listOfStrings.Add("2"); 
listOfStrings.Add("3"); 

Session["ListOfStrings"] = listOfStrings; 

爲了取回的,這樣做:

// Check to see if item in Session is actually there or not 
if(Session["ListOfStrings"] != null) 
{ 
    // Cast the item in Session to a List<T>, because everything in Session is an object 
    var myListOfStringsRetrieved = Session["ListOfStrings"] as List<string>; 
} 

注:我假設你使用C#,但可以很容易地轉換爲VB.NET。

0

一些更多的細節可能會有所幫助。你想分享什麼類型的信息?如果這是需要保存的東西,那麼從一個頁面中將數據保存到數據庫(或本地存儲,或者您正在使用的任何東西)中,並在另一個頁面中檢索它是最有意義的。如果它只是臨時數據,則通過表單發佈數據或使用會話變量可能更有意義。會話變量的問題在於您可能會超時。會話變量不會是我的第一選擇。