[ASP.NET] DataPager使用自訂資料來源的問題

[ASP.NET] DataPager使用自訂資料來源的問題

使用自訂資料來源的時候, 跟ListView和DataPager控制項結合的時候, 會發生下列狀況

1. 第一頁有正確出現資料, 點第二頁說沒有資料

2. 第一頁有正確出現資料, 點第二頁還是第一頁的資料

經查詢的解法, 有好下列方法

1. 在DataPager的OnPreRendr設定 BindData

2. 在ListView的OnPagePropertiesChanging設定

    請參閱保哥的

    ListView + DataPager 在不使用 LinqDataSource 時會有問題

    註: 真的沒用LinqDataSource問題很多

3. 在ListView的OnPagePropertiesChanged設定

    請參閱下列

    實作ListView分頁(不使用DataSource)

但上列方法我似乎都失敗了, 最後我看到另一種方式給大家參考

就是用LinqDataSource做, 怎麼做呢?

1. 先在前端頁面加入LinqDataSource, 使用OnSelecting事件

 <asp:LinqDataSource ID="linqDS" runat="server" OnSelecting="linqDS_Selecting">
             
 </asp:LinqDataSource> 

2. 加入事件函式

 protected void linqDS_tbDPApply_Selecting(object sender, LinqDataSourceSelectEventArgs e)
 {
    e.Result = BindData(); //自訂資料 
 }  

總結

LinqDataSource + DataPager一起用, 即使自訂資料也不會有問題