我有一个 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>
Everyting 似乎工作正常。但是当我在 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 Sub
ObjectDataSource 仍然发送 -1 或 0。对参数 RowStart 它发送正确的值(单击第 1 页发送 0,单击第 2 页发送 15...)