ArrayLists不保留值

时间:2012-07-12 23:20:14

标签: c# asp.net

我在后面的代码中有arraylists,他们没有保留我添加到他们的值。我尝试将它们设为公共静态并且可以正常工作,但问题是我不希望在用户完成表单后保留这些值。当他们需要再次使用表格时,我希望他们被清除。如果未将值设置为公共静态值,则会添加这些值,但是当在表单上添加下一个项目时,第一个项目中的值将从arraylists中消失。请帮忙。

namespace Application
{
    public partial class Enquiry : System.Web.UI.Page
    {
         ArrayList Dates = new ArrayList();
         ArrayList Dates2 = new ArrayList();
         ArrayList Cost = new ArrayList();

2 个答案:

答案 0 :(得分:4)

ASP.NET网页是无状态的。回发时不会自动保存和恢复类属性;每次重新加载页面时,都会实例化一个新的页面类实例,将私有ArrayList属性重置为空。如果您希望保留值,则必须自行管理,可以使用ViewStateSession,也可以在每次加载页面时重建列表。

您可能需要研究ASP.NET page life cycle。它可能会使事情变得更加清晰。

答案 1 :(得分:0)

使用以下示例在viewstate中存储数据。 http://msdn.microsoft.com/en-us/library/bb386448.aspx