【出现频率】
★★★☆☆
【解答】
将DataPager控件配合ListView控件即可实现ListView控件的分页。DataPager控件可存在于对应的ListView控件内部,但是必须在LayoutTemplate模板内,如以下代码所示。
<asp:ListView runat="server" ID="LView">
<LayoutTemplate>
数据项布局;
<asp:DataPager ID="Pager" runat="server" PageSize="10" >
<Fields>
页面导航对象设置;
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
数据项模板内容;
</ItemTemplate>
</asp:ListView>
还可以将DataPager控件设置于对应的ListView控件的外部,不过这时编程者需要将DataPager控件的“PagedControlID”属性设置为对应ListView控件的“ID”属性值,如以下代码所示。
<asp:ListView runat="server" ID="LView">
<LayoutTemplate>
数据项布局;
</LayoutTemplate>
<ItemTemplate>
数据项模板内容;
</ItemTemplate>
</asp:ListView>
<asp:DataPager ID="Pager" runat="server" PageSize="10" PagedControlID="LView">
<Fields>
页面导航对象设置;
</Fields>
</asp:DataPager>
【分析】
本题考查面试者对ListView控件分页实现的基本认识。DataPager控件可以提供分页功能给实现了IPageableItemContainer接口的控件,目前只有ListView控件符合这个要求。有了DataPager控件的配合,ListView控件可以很方便地完成分页功能,并通过DataPager控件的“PageSize”属性可设置每页的记录数量。除此之外,在DataPager控件中的 <Fields>内设置分页导航对象可完成分页后的跳转,如以下代码所示。
<asp:DataPager ID="Pager" runat="server" PageSize="10" PagedControlID="LView">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
<asp:NumericPagerField ButtonCount="5" />
<asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True"
ShowNextPageButton="False" ShowPreviousPageButton="False" />
<asp:TemplatePagerField OnPagerCommand="Pager_Command">
<PagerTemplate>
<asp:TextBox ID="PageNum" runat="server"> </asp:TextBox>
<asp:Button ID="GetPage" runat="server" Text="跳转" CommandName="go"/>
</PagerTemplate>
</asp:TemplatePagerField>;
</Fields>
</asp:DataPager>
在DataPager 控件中可以使用NumericPagerField对象、NextPreviousPagerField对象显示内置的导航界面。NumericPagerField对象可以显示指定数量的页码超级链接,让浏览用户用户按页码选择数据页,NextPreviousPagerField对象可以让用户逐页浏览数据页,也可以直接跳转到首页或末页。如果编程者需要更灵活的分页导航布局,可添加PagerTemplate到TemplatePagerField控件中,自定义分页导航模板内容,不过编程者需要自定义OnPagerCommand事件处理方法。以上代码中,同时使用了多种导航方法,创建混合分页接口。
ListView控件和DataPager控件配合方法
最新推荐文章于 2015-10-19 20:55:19 发布