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