ASP.Net - 在没有回发的情况下对GridView进行排序(绑定到通用列表)

时间:2017-04-26 20:27:38

标签: asp.net gridview webforms

我试图在ASP.Net中为GridView排序列,理想情况下不刷新页面。

我的数据被编译成服务器上的通用列表,并绑定到代码隐藏中的GridView。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
BackColor="White" CellPadding="3" GridLines="Vertical" AllowSorting="True" 
CssClass="GridViewStyle" EnableSortingAndPagingCallbacks="True" 
AllowPaging="True">
    <Columns>
      <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID">
      </asp:BoundField>
      <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title">
      </asp:BoundField>                            
      <asp:BoundField DataField="Customer" HeaderText="Customer" SortExpression="Customer">
      </asp:BoundField>                            
    </Columns>

当我尝试单击任何列标题时,没有任何反应。

有没有办法在不刷新页面的情况下完成此任务?

1 个答案:

答案 0 :(得分:3)

不,单独使用Gridview无法实现此目的,而不会导致回发。

您可以使用JavaScript在客户端对其进行排序(可能放弃使用GridView,而使用结合jQuery DataTables的Repeater)

或者您可以使用UpdatePanel或iframe来屏蔽回发。那些有其自身的复杂性,但可能不是最好的方法。我个人非常讨厌使用其中任何一个,并建议你避开。