我需要在同一个应用程序的两个不同的aspx页面之间共享数据(字符串,列表,数组)。如果我不想使用cookie并且不希望数据在URL中可见,那么最好的方法是什么。
a) Form post method
b) Session (cookies?)
c) Sql
d) Server.Transfer
由于
答案 0 :(得分:1)
内存中Session
将是在页面之间存储数据的最简单和最快(开发方面),而不会在查询字符串(URL)中显示其内容,如下所示:
要在List<string>
中存储Session
,请执行以下操作:
var listOfStrings = new List<string>();
listOfStrings.Add("1");
listOfStrings.Add("2");
listOfStrings.Add("3");
Session["ListOfStrings"] = listOfStrings;
要从List<string>
检索Session
,请执行以下操作:
// 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。
答案 1 :(得分:0)
更多细节可能会有所帮助。您想分享哪种类型的信息?如果它是需要保存的东西,那么将数据保存在您的数据库(或本地存储,或者您正在使用的任何东西)中从一个页面保存并在另一个页面中检索它可能是最有意义的。如果它只是临时数据,通过表单发布数据或使用会话变量可能更有意义。会话变量的问题在于您可能会超时。会话变量不是我的首选。