会话变量内容未更新

时间:2012-12-04 18:56:07

标签: c# asp.net session datagrid datatable

请考虑以下代码:

\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中没有值。

2 个答案:

答案 0 :(得分:0)

根据你的代码可能会发生。 B'cos 当我< = 0将存在与之前相同的值。 B'cos你的会话在外循环。检查。

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

检查Session["dfdtemptable"];指定的地点(来源 - 未显示给我们 - b'cos 可以为我生成0 )。

答案 1 :(得分:0)

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

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

Session["dfdtemptable"] = dt;