我试图在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>
当我尝试单击任何列标题时,没有任何反应。
有没有办法在不刷新页面的情况下完成此任务?
答案 0 :(得分:3)
不,单独使用Gridview无法实现此目的,而不会导致回发。
您可以使用JavaScript在客户端对其进行排序(可能放弃使用GridView,而使用结合jQuery DataTables的Repeater)
或者您可以使用UpdatePanel或iframe来屏蔽回发。那些有其自身的复杂性,但可能不是最好的方法。我个人非常讨厌使用其中任何一个,并建议你避开。