0

我完成了gridview的排序。它工作得很好,但我每 60 秒刷新一次页面。因此,当我将 Asc 排序为 Desc 时。页面停留在 Desc 页面,但页面刷新后,网格进入 Asc 方向。但是我想在页面加载时保持最后的排序方向。可能吗?我的排序代码是:

   $(document).ready(function () {
        $.tablesorter.addParser({
            id: 'amount',
            is: function (s) {
                return false;
            },
            format: function (s) {
                return s; 
            },
            type: 'numeric'
        });

        $.tablesorter.addParser({
            id: "commaDigit",
            is: function (s) {
                return false;
            },
            format: function (s) {
                return s;
            },
            type: "numeric"
        });

        $.tablesorter.addParser({
            id: 'balance',
            is: function (s) {
                return false;
            },
            format: function (s) {
                return s;
            },
            type: 'numeric'
        });


        $(function () {
            $("#<%=gvCustomerTranInfo.ClientID%>").tablesorter({
                headers: {
                    1: {
                        sorter: 'commaDigit'
                    },
                    3: {
                        sorter: 'amount'
                    }
                }
            });
            SetDefaultSortOrder();
        });
    });



    function Sort(cell, sortOrder) {
        var sorting = [[cell.cellIndex, sortOrder]];
        $("#<%=gvCustomerTranInfo.ClientID%>").trigger("sorton", [sorting]);
        if (sortOrder == 0) {
            sortOrder = 1;
            cell.className = "sortDesc";
        }
        else {
            sortOrder = 0;
            cell.className = "sortAsc";
        }
        cell.setAttribute("onclick", "Sort(this, " + sortOrder + ")");
        cell.onclick = function () { Sort(this, sortOrder); };
        document.getElementById("<%=pnlCustomerTranInfo.ClientID %>").scrollTop = 0;
    }

    function SetDefaultSortOrder() {
        var gvHeader = document.getElementById("dummyTranHeader");
        if (gvHeader != null) {
            var headers = gvHeader.getElementsByTagName("TH");
            for (var i = 0; i < headers.length; i++) {
               headers[i].setAttribute("onclick", "Sort(this, 1)");
                headers[i].onclick = function () { Sort(this, 1); };
                headers[i].className = "sortDesc";
            }
        }
    }

我使用 asp.net 在客户端对代码进行排序

4

1 回答 1

0

如果刷新它会回到服务器端,您需要向页面提示排序的顺序。

您可以添加一个查询字符串参数,以便它保持刷新。

于 2013-06-05T06:34:07.320 回答