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();
}