2013-10-03 85 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

一些更多的细节可能会有所帮助。你想分享什么类型的信息?如果这是需要保存的东西,那么从一个页面中将数据保存到数据库(或本地存储,或者您正在使用的任何东西)中,并在另一个页面中检索它是最有意义的。如果它只是临时数据,则通过表单发布数据或使用会话变量可能更有意义。会话变量的问题在于您可能会超时。会话变量不会是我的第一选择。