0

我有一个数组列表,我向其中添加了一个代码列表。当我重定向到不同的页面(aspx)时,我希望能够从其他页面访问添加到数组列表中的这些代码。

除了创建单独的 Class.cs 文件之外,这是最简单的方法。

问候

4

3 回答 3

3

您可以使用以下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
}
于 2013-01-22T09:55:28.657 回答
2

为此,您需要使用 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;
于 2013-01-22T10:02:04.530 回答
1

即使使用单独的class,您想要的也不能直接发生(除非它是静态属性)。每个请求都将重新创建您的对象。

解决方法是将您的存储ArrayListSession. 有关会话状态的详细信息,请参阅此 MSDN 链接:http: //msdn.microsoft.com/en-us/library/ms178581 (v=vs.100).aspx

于 2013-01-22T09:54:47.293 回答