簡體   English   中英

排序只能工作一次

[英]Sorting works only once

我有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"

相反,你必須使用不同的方式,例如:

  • 會議
  • 的ViewState
  • HiddenField

ASP.NET狀態管理概述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM