2011-02-01 2 views
2

Я использую ObjectDataSource для сортировки/страницы/фильтр, как показано ниже: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> 

В GridView потребляя ObjectDataSource:

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

Я хочу пройти в ряд параметров, подобных приведенным выше, в SelectParameters. Вызов метода «GetCompaniesSubset» исполняет, но по возвращении я получаю следующую ошибку:

ObjectDataSource 'odsCompaniesIndex' could not find a non-generic method 'GetCompaniesCount' that has parameters: status.

Мой SelectMethod составляет:

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

Как вы разрешаете SelectMethod использовать StartRowIndexParameterName/MaximumRowsParameterName и любые дополнительные параметры ?

Благодаря

+0

Как вы используете свой объект ObjectDataSource? Вы используете «GridView»? –

+0

Да, жаль, что я отредактировал свой пост! – adamwtiko

ответ

2

Проблема заключается в том, что GetCompaniesCount не имеет status параметр, а не GetCompaniesSubset.

+0

Спасибо, я видел это вчера и подумал, как я могу быть таким глупым! Мне нужно больше узнать! – adamwtiko

Смежные вопросы