我有一个GridView和一个ObjectDataSource
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="myType" SelectMethod="FindByName"
MaximumRowsParameterName="NumRows" StartRowIndexParameterName="RowStart" EnablePaging="true">
<SelectParameters>
<asp:Parameter Name="namex" Type="String" Direction="Input" DefaultValue="" />
<asp:Parameter Name="RowStart" Type="Int32" Direction="Input" DefaultValue="0" />
<asp:Parameter Name="NumRows" Type="Int32" Direction="Input" DefaultValue="15"/>
</SelectParameters>一切似乎都很正常。但是,当我在GridView上更改页面时,ObjectDataSource调用该方法时,它会发送参数NumRows=-1(StartRowIndexParameterName="NumRows").如果我调用ObjectDataSource.Select(),它会发送NumRows=0
即使我为参数NumRows设置了一个值
Protected Sub ObjectDataSource_Selecting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ObjectDataSourceSelectingEventArgs) Handles ObjectDataSource.Selecting
e.InputParameters("NumRows") = 15
End SubObjectDataSource仍然发送-1或0。对于参数RowStart,它发送正确的值(单击第1页发送0,单击第2页发送15...)
发布于 2013-09-18 16:12:24
ObjectDataSource控件的SelectCountMethod属性设置为返回查询中记录总数的方法的名称。
您必须按如下方式实现数据源:
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
TypeName="myType"
SelectMethod="FindByName"
SelectCountMethod="GetMyTypeCount"
MaximumRowsParameterName="NumRows"
StartRowIndexParameterName="RowStart"
EnablePaging="true">
<%--TODO : ...--%>
</asp:ObjectDataSource>或者,您可以学习this URL的示例。
https://stackoverflow.com/questions/15776558
复制相似问题