Я выискивал эту проблему в течение нескольких дней, поэтому я попробовал много популярных методов, абсолютно ничего, мой список просто исчезает после повторного связывания.Я привязываю List (Of KeyValuePair (Of String, Integer)) для функции индексирования к ListView.Когда я впервые связываю его, он работает хорошо, он показывает все пары ключей и значений в необходимых пределах DataPager, но когда я обращаюсь к пейджеру, представление списка исчезает.
Вот что происходит, когда вызывается PagePropertiesChanging для ListView.
Me.DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, False)
userInterface.DataPagerReBind(ListView1)
И собственно ListView
<asp:ListView ID="ListView1" runat="server" EnableTheming="True" OnPagePropertiesChanging="ListView1_PagePropertiesChanging">
<LayoutTemplate>
<table cellpadding="2" width="640px" border="1" ID="tbl1" runat="server">
<tr id="Tr2" runat="server" style="background-color: #98FB98">
<th id="Th1" runat="server">Test point name</th>
<th id="Th2" runat="server">Number of failed Test points</th>
</tr>
<tr runat="server" id="itemPlaceHolder" />
</table>
</LayoutTemplate>
<ItemTemplate>
<tr id="Tr1" runat="server">
<td>
<asp:Label ID="VendorIDLabel" runat="server" Text='<%# Eval("key") %>' />
</td>
<td>
<asp:Label ID="AccountNumberLabel" runat="server" Text='<%# Eval("value") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<asp:DataPager ID="DataPager1" runat="server" PageSize="10" PagedControlID="ListView1" >
<Fields>
<asp:NextPreviousPagerField
ButtonType="Link"
ShowFirstPageButton="True"
ShowNextPageButton="False"
ShowPreviousPageButton="False" />
<asp:NumericPagerField />
<asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
</Fields>
</asp:DataPager>
И userInterface.DataPagerRebind просто связывает просмотр списка с исходным списком.Кто-нибудь может помочь?Я действительно потерял здесь, это беспокоит меня так долго, просмотр списка просто исчезает, когда я использую пейджер.Спасибо.
Определение для userInterface.DataPagerReBind:
Sub DataPagerReBind(ByRef listView1 As ListView)
listView1.DataSource = TestList
listView1.DataBind()
End Sub