-1

我需要在同一应用程序的两个不同 aspx 页面之间共享数据(字符串、列表、数组)。如果我不想使用 cookie 并且不希望数据在 url 中可见,那么最好的方法是什么。

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

谢谢

4

2 回答 2

1

Session在页面之间存储数据而不在查询字符串 (URL) 中可见的情况下,内存中将是最简单和最快的(开发方面),如下所示:

要存储 a List<string>Session请执行以下操作:

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

Session["ListOfStrings"] = listOfStrings;

要检索List<string>from 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。

于 2013-10-03T01:13:40.477 回答
0

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

于 2013-10-03T01:28:20.717 回答