【问题标题】:ASP.Net - Sorting a GridView without postback (bound to a generic list)ASP.Net - 对没有回发的 GridView 进行排序(绑定到通用列表)
【发布时间】:2017-04-26 20:27:38
【问题描述】:

我正在尝试在 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>

当我尝试单击任何列标题时,什么都没有发生。

有什么方法可以在不刷新页面的情况下完成此操作?

【问题讨论】:

  • 没有 asp.net Gridview 组件,因为它是一个服务器组件。它几乎没有任何客户端行为。您将需要使用其他类型的组件,要么是 javascript 组件,要么是混合组件。

标签: asp.net gridview webforms


【解决方案1】:

不,没有办法单独使用 Gridview 来完成此操作而不会导致回发。

您可以在客户端使用 JavaScript 对其进行排序(也许通过放弃 GridView 而使用与 jQuery DataTables 结合的中继器)

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

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 2011-04-29
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2010-09-17
    相关资源
    最近更新 更多