排序只能工作一次

时间:2016-02-22 15:22:33

标签: c# asp.net sorting gridview

我有GridView与排序,它工作得很好,但它只工作一次,是的,这不是重复我发现了很多问题,但它并没有帮助我。请问它只排序一次是错的(就像方向不变)?         ViewState [“sort”] =“ASC” - >在PageLoad中声明         protected void grid_sort(object sender,GridViewSortEventArgs e)         {             DataView排序=新的DataView(数据); //数据是全局DataTable             if(ViewState [“sort”]。ToString()==“ASC”)                 ViewState [“sort”] =“DESC”;             其他                 ViewState [“sort”] =“ASC”;             sorting.Sort = e.SortExpression +“”+ ViewState [“sort”];             data = sorting.ToTable();             GridView1.DataSource = data;             GridView1.DataBind();         }

1 个答案:

答案 0 :(得分:4)

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

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

  • 会话
  • 视图状态
  • HiddenField

ASP.NET State Management Overview