ObjectDataSource分页和额外参数

时间:2011-02-01 13:27:36

标签: c# asp.net paging objectdatasource custompaging

我正在使用ObjectDataSource进行排序/分页/过滤,如下所示:

        <asp:ObjectDataSource 
                ID="odsCompaniesIndex" runat="server" EnablePaging="true"  
                   SelectMethod="GetCompaniesSubset" 
                   StartRowIndexParameterName="startRowIndex" 
                   MaximumRowsParameterName="maximumRows"
                   SelectCountMethod="GetCompaniesCount" 
                   SortParameterName="sortExpression" 
                   TypeName="Company">
        <SelectParameters>
            <asp:ControlParameter ControlID="ddlStatus" 
                 ConvertEmptyStringToNull="true" 
                 DbType="Boolean" PropertyName="SelectedValue" Name="status" />
        </SelectParameters>
    </asp:ObjectDataSource>

使用ObjectDataSource的gridview:

        <asp:GridView ID="gvCompanyIndex" AutoGenerateColumns="true" runat="server" DataSourceID="odsCompaniesIndex"
        AllowPaging="true" DataKeyNames="company_id" AllowSorting="true">
    </asp:GridView>

我想将上面的一些参数传递给SelectParameters。方法调用'GetCompaniesSubset'执行但在返回时我收到以下错误:

  

ObjectDataSource'odsCompaniesIndex'   找不到非通用的方法   'GetCompaniesCount'有   参数:status。

我的SelectMethod是:

    public DataSet GetCompaniesSubset(
        int startRowIndex, int maximumRows, string sortExpression, bool status)
{...}

如何允许SelectMethod使用StartRowIndexParameterName / MaximumRowsParameterName和任何额外的参数?

由于

1 个答案:

答案 0 :(得分:2)

问题是 GetCompaniesCount 没有status参数,而不是GetCompaniesSubset