從我讀過的所有內容來看,似乎將分頁添加到ListView控件應該很簡單,但它不適用於我。在將ListView和DataPager控件添加到表單並將它們連接在一起後,我出現了非常奇怪的行爲。 DataPager正確地限制了ListView的頁面大小,但單擊分頁按鈕根本不影響ListView。分頁按鈕似乎認爲他們在做他們的工作,因爲最後一個按鈕被禁用,當你去到最後一頁等,但ListView從不改變。此外,DataPager需要兩次點擊才能使其執行任何操作,即單擊Last一次不執行任何操作,但第二次單擊它會導致DataPager作出反應,就好像現在選擇了最後一頁一樣。ListView與DataPager無法正常工作
我能想到的唯一的事情是我在運行時綁定數據源(到一個LINQ對象),不使用LinqDataSource控件或任何東西。有沒有人看過這種行爲?難道我做錯了什麼?下面是我使用的代碼:
<asp:DataPager ID="HistoryDataPager" runat="server" PagedControlID="HistoryListView" PageSize="10">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="true" ShowLastPageButton="true" />
</Fields>
</asp:DataPager>
<asp:ListView ID="HistoryListView" runat="server">
...
</asp:ListView>
在後臺代碼:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
HistoryListView.DataSource = From x in myContext.myTables ...
DataBind()
End If
End Sub
你不需要再次進行數據綁定它*。但是,是的,你可以通過預渲染中的數據綁定來解決這個問題。 – 2009-02-20 20:29:43
這是我從ASP.net見過的最愚蠢的事情(儘管我確信情況更糟)。但是,謝謝你找到它。我從來沒有想過會有pre_render錯誤。 – Dexter 2012-03-28 18:02:15
@Syam當我使用預渲染覆蓋listView數據源出來是空的(點擊下一個按鈕),然後沒有記錄顯示...任何猜測? – tariq 2013-03-05 09:36:19