我对更改datapager时间有疑问。datasourcelistview
例子:
<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显示。pagenumberspagesize
现在,如果我选择任何页面1st,然后输入filter返回的页面少于当前选择的页面;datapager停留在先前选择的页面上,listview即使有一些记录也不显示。
知道为什么会这样吗?