列表在更新部分发生后被删除



我在ASP.NET网页更新面板中引用了一个全局变量。以下是更新面板中发生的情况:

    accidentListType.Add(Convert.ToString(AccidentDescription.SelectedItem));
        if (Atfault.Checked)
        {
            accidentAtFault.Add("True");
        }
        else accidentAtFault.Add("False");
        DateTime newDate = new DateTime(Convert.ToInt32(accidentyear.Text), Convert.ToInt32(accidentmonth.Text), 1);
        accidentListDate.Add(newDate);
        TestAccidentLabel.Text = "Success! " + newDate.ToString();

基本上,每次单击按钮时,列表都会获得另一个添加的成员。但每次它在代码中运行时,新索引都会神秘地被删除,所以当我将所有意外添加到数据库中时,就不会添加意外了。我不能动态添加它们,因为事故数据库的输入之一是来自另一个表的Identity,我在创建表时提取它,所以无论如何我都必须添加它们。

有人能帮忙吗?附言:这是我第一次发帖,所以如果有什么问题,我很抱歉。

您缺少两样东西。尽管您的列表是全局的,但由于在每次请求后页面对象都会被销毁,除非您将列表保留在会话中,否则这些值将不会持久存在。此外,您必须重新使用会话中保存的列表来添加任何新值。按以下步骤操作。

//at the start of block
//check if there is anything in Session
//if not, create a new list
if(Session["accidentListType"] == null)
   accidentListType = new List<string>();
else //else a list already exists in session , use this list and add object to this list
  accidentListType = Session["accidentListType"] as List<string>;
//do your processing, as you are doing
//and at the end of bloack store the object to the session
Session["accidentListType"] = accidentListType

相关内容

  • 没有找到相关文章

最新更新