我有一个数组列表,我向其中添加了一个代码列表。当我重定向到不同的页面(aspx)时,我希望能够从其他页面访问添加到数组列表中的这些代码。
除了创建单独的 Class.cs 文件之外,这是最简单的方法。
问候
您可以使用以下Session
变量:
ArrayList myArrayList = new ArrayList();
//add items to arraylist
Session["MyArrayList"] = myArrayList;
然后只需在第二页上切换它即可将其取回:
ArrayList myArrayList = Session["MyArrayList"] as ArrayList;
//check to see if arraylist is null before using it
if (myArrayList != null)
{
//array list is not null, safe to use
}
为此,您需要使用 Session,我建议您使用以下代码:
您要从中重定向到另一个页面的 Page-1 的代码:
System.Collections.ArrayList objArrayList = new System.Collections.ArrayList();
objArrayList.Add("DEMO1");
objArrayList.Add("DEMO2");
Session["ArrayList"] = objArrayList;
您从另一个页面重定向的第 2 页的代码:
System.Collections.ArrayList objArrayList1 = Session["ArrayList"] as System.Collections.ArrayList;
即使使用单独的class
,您想要的也不能直接发生(除非它是静态属性)。每个请求都将重新创建您的对象。
解决方法是将您的存储ArrayList
在Session
. 有关会话状态的详细信息,请参阅此 MSDN 链接:http: //msdn.microsoft.com/en-us/library/ms178581 (v=vs.100).aspx