如何让DataTable's的内容在作用域结束后仍然存在

本文关键字:作用域 结束 存在 DataTable | 更新日期: 2023-09-27 18:05:44

我有一个DataTable,它是在我的类的开始声明的,像这样:

private DataTable table = new TestData().FillTable();

在整个课程中,我能够访问表的内容。

然而,我有一个GridView排序事件,它改变了DataTable的内容。在事件本身中,内容发生了变化,我已经通过调试确认了这一点。然而,如果我从这个方法之外的任何地方调用表,DataTable的内容仍然像以前一样,也就是说,一旦排序事件的范围结束,新值似乎就会被擦除。

下面是排序事件的代码:

protected void TableGridView_Sorting(object sender, GridViewSortEventArgs e)
    {
        table.DefaultView.Sort = "GroupNumber, " + e.SortExpression + GetSortDirectio(e.SortExpression);
        TableGridView.DataSource = table;
        TableGridView.DataBind();
    }

当我在上述事件中测试表的内容时,似乎添加了新值。但是,如果我从任何其他方法调用该表,则返回旧值。

我能做些什么来使表的内容被全局更新,即在我的类开始时声明的变量,而不是有不同的状态取决于方法?

如何让DataTable's的内容在作用域结束后仍然存在

我已经用GridView排序事件测试了这个。离开排序事件。表包含排序的值,因此它按预期工作。您确定在单页请求中测试您的解决方案吗?在PostBack这个之后。表再次从TestData(). filltable()中赋值