Gridview 内的 Listview 分页不起作用

问题描述 投票:0回答:2

我有一个嵌套在网格视图中的列表视图。

我正在尝试在列表视图上进行分页。 我以为它会显示分页控件,然后正常地翻阅它们。

它确实显示控件,并将显示的结果集限制为适当的记录数(pageSize),但是当我单击分页控件时,网格会刷新,并且嵌套列表视图没有任何变化(它仍然在第一页上)。

我尝试将列表视图嵌套在更新面板内,但行为仍然存在。 gridview 本身已经在 updatepanel 中。

这就是我的布局:

<Gridview ID="gvApplications" DataSourceID="odsApplications" DataKeyNames="ID" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Functions">
                 <ItemTemplate>
                     <asp:ListView ID="lvFunctions" runat="server" DataSource='<%#Eval("ApplicationFunctions") %>'
                      DataKeyNames="ID">
                     <LayoutTemplate>
                         <asp:DataPager ID="dpFunctions" runat="server" PageSize="1" PagedControlID="lvFunctions">
                            <Fields>
                                <asp:NextPreviousPagerField />
                            </Fields>
                         </asp:DataPager>
                         <ul>
                         <li>
                            <span ID="itemPlaceholder" runat="server" />
                         </li>
                         </ul>
                     </LayoutTemplate>
                     <ItemTemplate>
                        <asp:Label ID="lblFunction" runat="server" Text='<%# Eval("ApplicationFunction.Name") %>' />
                     </ItemTemplate>
                     </asp:ListView>
                 </ItemTemplate>
            </asp:TemplateField>
</Columns>
</Gridview>

想法?

asp.net listview gridview pagination
2个回答
0
投票

老实说,我会考虑在这里使用主从模式。这方面有很多代码示例。例如:

Google:带有子对象的主详细信息示例

在某些情况下,详细信息视图(您的情况下的子对象)将显示在单独的页面上。无论哪种方式,通过在单独的详细信息视图中显示子对象,您都可以避免嵌套带来的编码和显示问题。

Matt Berseth 有一些关于这个主题的最佳代码示例:

http://mattberseth.com/blog/gridview/


0
投票

如果列表视图不使用数据源控件,列表视图/数据分页器组合将无法正常工作。

尝试在模板字段中包含数据源控件(objectdatasource 可能适用)。

© www.soinside.com 2019 - 2024. All rights reserved.