ObjectDataSource需要SelectCountMethod的分页参数

时间:2012-03-21 10:10:45

标签: asp.net objectdatasource

我有一个像这样的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 */ }
}

我手动为getData方法添加了参数maxRow,startRow,它适用于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 个答案:

答案 0 :(得分:1)

由于您指定了select参数,因此需要将它们作为select count方法的参数包含在内。我不认为这是一个问题,因为你总是不能在count方法中使用该参数。