我有一个像这样的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。它们不应该被省略,因为它们被设置为分页参数吗?
感谢。
答案 0 :(得分:1)
由于您指定了select参数,因此需要将它们作为select count方法的参数包含在内。我不认为这是一个问题,因为你总是不能在count方法中使用该参数。