我需要在同一應用程序的兩個不同的aspx頁面之間共享數據(字符串,列表,數組)。如果我不想使用cookie並且不希望數據在url中可見,那麼做到這一點的最佳方法是什麼?在aspx頁面之間共享數據
a) Form post method
b) Session (cookies?)
c) Sql
d) Server.Transfer
感謝
我需要在同一應用程序的兩個不同的aspx頁面之間共享數據(字符串,列表,數組)。如果我不想使用cookie並且不希望數據在url中可見,那麼做到這一點的最佳方法是什麼?在aspx頁面之間共享數據
a) Form post method
b) Session (cookies?)
c) Sql
d) Server.Transfer
感謝
在內存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。
一些更多的細節可能會有所幫助。你想分享什麼類型的信息?如果這是需要保存的東西,那麼從一個頁面中將數據保存到數據庫(或本地存儲,或者您正在使用的任何東西)中,並在另一個頁面中檢索它是最有意義的。如果它只是臨時數據,則通過表單發佈數據或使用會話變量可能更有意義。會話變量的問題在於您可能會超時。會話變量不會是我的第一選擇。