请考虑以下代码:
\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中没有值。
答案 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;