Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.net的ArrayList中保存对象_C#_Asp.net_.net - Fatal编程技术网

C# 在ASP.net的ArrayList中保存对象

C# 在ASP.net的ArrayList中保存对象,c#,asp.net,.net,C#,Asp.net,.net,上述代码仅将最后插入的数据绑定到数组列表中 列表中先前添加的数据不显示 如何保持显示列表中的项目?每次向网页发布请求时,都会重新创建列表,因此它不是持久的 您有几个选项可以永久保存此文件: 数据库 对象 对象 其他一些,都是为了他们的特定目的 例如,使用会话: ArrayList aList = new ArrayList(); protected void Button1_Click(object sender, EventArgs e) { aList.Add(DropDownL

上述代码仅将最后插入的数据绑定到数组列表中

列表中先前添加的数据不显示


如何保持显示列表中的项目?

每次向网页发布请求时,都会重新创建列表,因此它不是持久的

您有几个选项可以永久保存此文件:

  • 数据库
  • 对象
  • 对象
  • 其他一些,都是为了他们的特定目的
例如,使用
会话

ArrayList aList = new ArrayList();
protected void Button1_Click(object sender, EventArgs e)
{
    aList.Add(DropDownList1.SelectedValue);
    ListBox1.DataSource = aList;
    ListBox1.DataBind();
}

另外,请不要再使用
ArrayList
,而是使用通用
列表

,因为ASP.NET中的所有对象都是在页面呈现为HTML并发送到客户端后,在页面生命周期结束时处理的。您必须重新创建列表(我强烈建议使用
list
而不是
ArrayList
)。同意,首选通用
list
而不是
ArrayList
。另外一个:Cookies!请注意,该列表现在在整个会话中共享,用于所有页面。如果不希望这样,请使用另一种存储机制,如
ViewState
protected void Button1_Click(object sender, EventArgs e)
{
    ArrayList aList = (ArrayList)this.Session["someParameter"];

    if (aList == null)
    {
         this.Session["someParameter"] = aList = new ArrayList();
    }

    aList.Add(DropDownList1.SelectedValue);
    ListBox1.DataSource = aList;
    ListBox1.DataBind();
}