在aspx页面之间共享数据

时间:2013-10-03 01:11:01

标签: asp.net forms session get server.transfer

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

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

由于

2 个答案:

答案 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)

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