Asp.net ObjectDatasource没有';t传递sortParametername

Asp.net ObjectDatasource没有';t传递sortParametername,asp.net,vb.net,gridview,webforms,Asp.net,Vb.net,Gridview,Webforms,让绑定到ObjectDataSource的GridView正确排序时遇到问题。 ObjectDatasource似乎没有传递我的“排序”参数。代码如下: 这是我的GridView: <asp:GridView ID="grdListing" runat="server" AllowSorting="true" AutoGenerateColumns="false" CssClass="grid" GridLines="none" CellPadding="2" AllowPaging="T

让绑定到ObjectDataSource的GridView正确排序时遇到问题。 ObjectDatasource似乎没有传递我的“排序”参数。代码如下:

这是我的GridView:

<asp:GridView ID="grdListing" runat="server" AllowSorting="true" AutoGenerateColumns="false" CssClass="grid" GridLines="none" CellPadding="2" AllowPaging="True" PageSize="10" PagerSettings-Mode="Numeric" UseAccessibleHeader="true" ShowFooter="true" OnPageIndexChanging="grdListing_PageIndexChanging">
    <RowStyle CssClass="odd" />
    <AlternatingRowStyle CssClass="even" />
    <Columns>
        <asp:BoundField HeaderText="Name" DataField="Name" SortExpression="Name" />

        <asp:BoundField HeaderText="Address" DataField="Address" SortExpression="Address" />
    </Columns>
    <PagerStyle HorizontalAlign="center" CssClass="textBold" />
</asp:GridView>
在我的类“MemberController”中,我有以下函数:

Public Shared Function GetAll(sortDirection As SortDirection, sortColumns As String, pageSize As Integer, startRow As Integer) As List(Of Member)
    Dim _db As New MemberDb

    If pageSize = 0 Then
        pageSize = 15
    End If

    Return _db.GetAll(sortColumns, pageSize, startRow, sortDirection)
End Function
真的很直截了当。它只是将参数传递给一个类,该类使用这些参数调用DB

但是“sortColumns”总是一个空字符串

因此,我可以单击GridView中的列标题,然后再次调用select方法,但sortColumns属性为空。我很难找出问题所在。GridView允许排序,所有列的定义如下:

  <asp:BoundField HeaderText="Title" DataField="Name" SortExpression="Name" />

但是参数'sortcolumns'总是空的,但是当我转到下一页时,例如'startrow'是正确的。因此ObjectDataSource似乎确实完成了它的工作,但并不适用于sortcolumns

有什么想法吗

  <asp:BoundField HeaderText="Title" DataField="Name" SortExpression="Name" />