【问题标题】:Session variable content not updated会话变量内容未更新
【发布时间】:2012-12-04 18:56:06
【问题描述】:

考虑下面的代码:

\DataTable dt =(DataTable) Session["dfdtemptable"];
    // Remove all
            int i = dt.Rows.Count;
        while(i> 0)
        {
        dt.Rows[i-1].Delete();
        dt.Rows[i - 1].AcceptChanges();
        i--;
        }
        Session["dfdtemptable"] = dt;
        this.BindItems();

当点击 addnew 按钮时,上面的代码被执行。但是 Session 变量仍然包含旧值该变量没有被清除..但需要清除会话变量,以便 Session 中没有值。

【问题讨论】:

  • "dt" 是否在一段时间后被清除?

标签: c# asp.net session datagrid datatable


【解决方案1】:

根据你的代码是可以发生的。 B'cos 当 i 。 因为你的会话在外循环中。检查一下。

 while(i> 0)
    {
    dt.Rows[i-1].Delete();
    dt.Rows[i - 1].AcceptChanges();
    i--;
    }
    Session["dfdtemptable"] = dt;

检查您指定的Session["dfdtemptable"]; 位置(来源 - 未显示给我们 - 因为 可以为 i 生成 0)。

【讨论】:

    【解决方案2】:

    如果您只需要删除所有行,我认为您不需要循环。试试这个

    DataTable dt =(DataTable) Session["dfdtemptable"];
    dt.Clear();
    
    Session["dfdtemptable"] = dt;
    

    【讨论】:

      猜你喜欢
      • 2011-02-08
      • 2018-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-05
      • 2013-07-16
      • 2023-03-13
      • 1970-01-01
      相关资源
      最近更新 更多