nir*_*rav 3 c# asp.net viewstate datatable
我在ViewState中分配DataTable.
public void Method1()
{
DataTable dt = getData(); //Gets the Data
ViewState["dtThis"] = dt;
}
Run Code Online (Sandbox Code Playgroud)
现在当' Method2 '执行时,ViewState将被分配给DataTable.
public void Method2()
{
DataTable dt2 = (DataTable)ViewState["dtThis"];
dt2.Columns.Remove("FirstName"); //Removing a column
dt2.AcceptChanges();
}
Run Code Online (Sandbox Code Playgroud)
现在执行后方法2当我检查(数据表)的ViewState("dtThis"),其具有的DataTable DT2即使我没有指派DT2回的ViewState("dtThis").(表示在ViewSate("dtThis")DataTable中删除列 - "FirstName").
知道为什么ViewState的这种行为?
以及如何维护原始ViewState?
您正在将数据表的引用存储到viewstate中.因此,所做的更新viewstate["dtThis"]直接影响到的原始Datatable obj method1().
保留原始视图状态数据表的一种方法是使用DataTable.Copy()创建原始副本并在该副本上操作
| 归档时间: |
|
| 查看次数: |
3731 次 |
| 最近记录: |