ObjectDataSource требует параметры подкачки для SelectCountMethod - PullRequest
1 голос
/ 21 марта 2012

У меня есть элемент управления ObjectDataSource, подобный этому:

<asp:ObjectDataSource ID="ObjectDataSource2" runat="server" EnablePaging="True" 
 MaximumRowsParameterName="maxRow" SelectCountMethod="howMuch" 
 SelectMethod="getData" StartRowIndexParameterName="startRow" 
 TypeName="BusinessObject">
</asp:ObjectDataSource>

и такой класс BusinessObject:

public class BusinessObject
{
    public someTyp[] getData(int maxRow, int startRow)
    { /* some code */ }
    public int howMuch()
    { /* some code */ }
}

Я добавил параметры maxRow, startRow для метода getData вручную, и он хорошо работает с GridView. Далее я использую задачу «Настроить источник данных ...» из визуального конструктора ObjectDataSource. Опция для SELECT: getData (Int32 maxRow, Int32 startRow), возвращает someTyp [] и все в порядке, но следующим шагом является настройка этих параметров, и в результате SelectParameters добавляются в ObjectDataSource:

<SelectParameters>
  <asp:Parameter Name="maxRow" Type="Int32" />
  <asp:Parameter Name="startRow" Type="Int32" />
</SelectParameters>

и сейчас это не работает. Я получаю исключение, говорящее, что нет метода howMuch () с параметрами Int32 maxRow, Int32 startRow.

И мой вопрос: почему параметры maxRow, startRow не исключаются из списка параметров для SelectCountMethod, несмотря на то, что они установлены как MaximumRowsParameterName и StartRowIndexParameterName. Разве они не должны быть опущены, поскольку они установлены в качестве параметров подкачки?

Спасибо.

1 Ответ

1 голос
/ 21 марта 2012

Поскольку вы указываете параметры выбора, вам нужно будет включить их в качестве параметров для метода выбора количества. Я не думаю, что это проблема, так как вы всегда не можете использовать параметр в методе count.

...