當datasource
的listview
變化時,我得到datapager
的問題。ASP .NET Datapager和數據源
實施例:
<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
包含讓說100 records
filter
沒有。 Datapager
根據pagesize
顯示pagenumbers
。
現在,如果我選擇除1st
之外的任何頁面,然後輸入filter
,它將返回比當前選定頁面少的頁面; datapager
停留在先前選擇的頁面上,並且listview
即使有一些也不顯示記錄。
任何想法爲什麼會發生這種情況?
如果'StartRowIndex'>'TotalRowCount'嘗試了'SetPageProperties',但它不起作用。不知道如何解決這個問題。 – majk86