У меня есть элемент управления 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. Разве они не должны быть опущены, поскольку они установлены в качестве параметров подкачки?
Спасибо.