排序仅工作一次

本文关键字:一次 工作 排序 | 更新日期: 2023-09-27 18:35:45

我有排序的 GridView,它运行良好,但它只工作一次,是的,这不是重复的我发现了很多问题,但它对我没有帮助。请问它只排序一次有什么问题(就像方向没有改变)?

        ViewState["sort"] = "ASC" --> is declared in PageLoad
        protected void grid_sort(object sender, GridViewSortEventArgs e) 
        {
            DataView sorting = new DataView(data); //data is global DataTable
            if (ViewState["sort"].ToString() == "ASC")
                ViewState["sort"] = "DESC";
            else
                ViewState["sort"] = "ASC";
            sorting.Sort = e.SortExpression + " " + ViewState["sort"];
            data = sorting.ToTable();
            GridView1.DataSource = data;
            GridView1.DataBind();
        }

排序仅工作一次

所有对象都在页面生命周期结束时释放,因此当它呈现为 HTML 并发送到客户端时。因此,不能使用字段string direction = "ASC"来存储排序方向。这将初始化为在每次回发时"ASC"

相反,您必须使用不同的方式,例如:

  • 会期
  • 视图状态
  • 希登菲尔德

ASP.NET 状态管理概述