我需要在同一应用程序的两个不同 aspx 页面之间共享数据(字符串、列表、数组)。如果我不想使用 cookie 并且不希望数据在 url 中可见,那么最好的方法是什么。
a) Form post method
b) Session (cookies?)
c) Sql
d) Server.Transfer
谢谢
我需要在同一应用程序的两个不同 aspx 页面之间共享数据(字符串、列表、数组)。如果我不想使用 cookie 并且不希望数据在 url 中可见,那么最好的方法是什么。
a) Form post method
b) Session (cookies?)
c) Sql
d) Server.Transfer
谢谢
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。
更多细节可能会有所帮助。你想分享什么类型的信息?如果它是需要保存的东西,那么从一个页面将数据保存在数据库(或本地存储,或您正在使用的任何东西)中并在另一个页面中检索它可能是最有意义的。如果它只是临时数据,那么通过表单发布数据或使用会话变量可能更有意义。session 变量的问题是您可能会超时会话。会话变量不是我的首选。