我在ViewState中分配一个DataTable。
public void Method1()
{
DataTable dt = getData(); //Gets the Data
ViewState["dtThis"] = dt;
}
现在,当“ Method2 ”执行时, ViewState将被分配给DataTable。
public void Method2()
{
DataTable dt2 = (DataTable)ViewState["dtThis"];
dt2.Columns.Remove("FirstName"); //Removing a column
dt2.AcceptChanges();
}
现在,在执行Method2后,当我检查(DataTable)ViewState("dtThis")时,即使我没有将dt2分配回ViewState("dtThis") ,它也具有 DataTable dt2 。(意味着在 ViewSate("dtThis") 数据表中删除了列 - "FirstName")。
知道为什么 ViewState 会出现这种行为吗?
以及如何保持原来的 ViewState ?