我在 ASP.Net MVC 中面临一个奇怪的问题。我将一个 DataTable 会话变量转换为另一个 DataTable,当我清除第二个 DataTable 中的项目时,它们也会从 Session 变量中清除。
dataTable = (DataTable)Session["MyDataTable"];
dataTable.Rows.Clear(); //after this line Session["MyDataTable"] becomes empty
Session["MyDataTable"]
包含数据表,一旦我从 dataTable
中清除它,该会话数据表也会被清空。知道为什么吗?
转换不会创建副本,因此您仍在处理对原始 DataTable 的引用。您需要创建一个新的数据表并复制或克隆内容。