我对更改datapager
时间有疑问。datasource
listview
例子:
<asp:TextBox ID="filter" runat="server" />
<asp:ListView ID="listview" DataSourceID="datasource" runat="server">
<LayoutTemplate>
...
</LayoutTemplate>
<ItemTemplate>
...
</ItemTemplate>
</asp:ListView>
<asp:DataPager ID="datapager" PagedControlID="listview" runat="server">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
<asp:SqlDataSource ID="datasource" ConnectionString="..." PageSize="10"
SelectCommnad="SELECT * FROM [...] WHERE [...] LIKE @filter"
runat="server">
<SelectParameters>
<asp:ControlParameter Name="filter" ControlID="filter"
DbType="String" PropertyName="Text" />
</SelectParameters>
</asp:SqlDataSource>
Listview
包含让我们说 100records
没有filter
. 根据Datapager
显示。pagenumbers
pagesize
现在,如果我选择任何页面1st
,然后输入filter
返回的页面少于当前选择的页面;datapager
停留在先前选择的页面上,listview
即使有一些记录也不显示。
知道为什么会这样吗?