0

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

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

2 回答 2

4

ASP.NET 网页是无状态的。回发时不会自动保存和恢复类属性;每次重新加载页面时,都会实例化页面类的新实例,将私有ArrayList属性重置为空。如果您希望值被持久化,您必须自己管理它,或者使用ViewState、 或Session,或者通过在每次页面加载时简单地重建您的列表。

您可能需要研究ASP.NET 页面生命周期。它可能会让事情变得更清楚。

于 2012-07-12T23:24:41.963 回答
0

使用下面的示例在视图状态中对数据进行排序。 http://msdn.microsoft.com/en-us/library/bb386448.aspx

于 2012-07-13T04:34:38.700 回答