2012-03-21 1 views
1

のページング・パラメータを必要とする:私は手動でgetDataメソッドのパラメータmaxRow、startRow属性を追加のObjectDataSourceは、私はこのようなObjectDataSourceコントロールを有するSelectCountMethod

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

その:

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

このようなクラスてBusinessObject GridViewでうまく動作します。 次に、ObjectDataSourceビジュアルデザイナーの "Configure Data Source ..."タスクを使用しています。 SELECTのオプションがある: のgetData(のInt32 maxRow、のInt32 startRow属性)、someTyp [] を返し、それはOKですが、次のステップは、これらのパラメータを設定することで、その結果はSelectParametersはObjectDataSourceのに追加されている。

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

これは動作しません。パラメータがInt32 maxRow、Int32 startRowのhowMuch()メソッドが存在しないことを示す例外が発生します。

私の質問は、MaximumRowsParameterNameとStartRowIndexParameterNameとして設定されているにもかかわらず、なぜパラメータmaxRow、startRowがSelectCountMethodのパラメータリストから除外されないのかです。ページングパラメータとして設定されているので省略してはいけませんか?

ありがとうございました。

答えて

1

selectパラメータを指定するため、select countメソッドのパラメータとして指定する必要があります。 countメソッドでは常にこのパラメータを使用できないので、私はその問題は考えていません。

関連する問題