【问题标题】:ASP.NET Session always affect by datatable variableASP.NET 会话总是受数据表变量影响
【发布时间】:2016-02-11 14:32:49
【问题描述】:

这是我的代码

    Dim dtX As DataTable
    dtX = Session("dtCustomer")

    For i As Integer = dtX.Rows.Count - 1 To 0 Step -1
        If isValid(dtX.Rows(i)("id")) = true Then
            dtX.Rows.RemoveAt(i)
        End If
    Next

我的问题是当程序运行“dtX.Rows.RemoveAt(i)”行时,存储在会话中的数据也会更新。删除数据表中的行时如何防止会话受到影响?它不应该发生对吗?

需要你们的帮助,谢谢

【问题讨论】:

    标签: asp.net vb.net session


    【解决方案1】:

    它发生(应该如此)是因为dtX 是对存储在Session 中的同一个DataTable 实例的引用。

    如果需要对DataTable的副本进行操作而不影响Session中的实例,添加

    dtX = dtX.Copy()
    

    之后

    dtX = Session("dtCustomer")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多