分页

更新:2007 年 11 月

ASP.NET 移动控件提供分页,分页自动将窗体中的内容分为较小的呈现内容组。使用分页时,这些内容组自动格式化,以适合目标设备的大小。窗体还呈现可用来浏览到其他页的用户界面 (UI) 元素。

默认情况下,窗体的分页是不活动的。若要激活分页,请将 Form 控件的 Paginate 属性设置为 true。如果 Paginate 为 false,则设置窗体内控件的 Paginate 属性没有任何影响。Form 控件还提供了其他属性(如 PageCountCurrentPagePagerStyle),使用这些属性可以控制分页行为。

您也可以使用窗体的 ControlToPaginate 属性为窗体上的特定控件指定分页。

分页使用建议

对 ASP.NET 移动网页中的小型交互式窗体(如输入窗体)进行分页通常是多余的。但对于显示大量文本或数据的窗体来说,使用分页以在多个屏幕上显示信息是很有效的。

如果页中包含大量随时间发生改变的数据(例如在电子商务站点中,数据要经常更新),则可以考虑使用自定义分页。有关使用自定义分页的更多信息,请参见本主题后面的“自定义分页”一节。

如果某些设备尝试显示的信息超出了它们的内存能够处理的范围,则会发生内存错误。分页不仅在显示包含大量文本或数据的窗体时很有效,而且还可以防止在用户的设备上出现这类内存错误。

设备限制

某些 HTML 设备不支持 JavaScript(JavaScript 属性为 false)。如果窗体的 Action 属性被设置为非空字符串,则窗体在不支持 JavaScript 的 HTML 设备上不会分页。

内部分页

对于能够自动分页且不包含子控件的移动控件,它们使用内部分页。例如,List 控件可以对自己的项进行分页,使窗体能够将单个列表分散在多个页上。不支持内部分页的控件必定要么包含子控件,要么以原子方式出现在单一屏幕中。

支持内部分页的控件使用 PagedControl 基类为内部和自定义分页派生分页属性、方法和事件。某些属性(如 FirstVisibleItemIndex 属性)提供了对页中个别项的访问。而另一些属性则提供了项的权重和可见项的数目。

ListObjectListTextView 控件支持内部分页。

自定义分页

支持内部分页的控件也支持自定义分页。通常,控件需要立即提供所有页的数据,然后放弃除当前页之外的所有页。对于自定义分页,控件引发一个仅加载当前页项目的事件。您可以在 ItemCount 属性中指定项目的总数。如果更改 ItemCount 属性,使其不为默认值零,则控件将使用自定义分页。在这种情况下,控件引发 LoadItems 事件,该事件能够调用应用程序指定的事件处理程序,以提供当前页的各个项。事件处理程序检索适当的数据,并将这些数据绑定到控件。

请参见

概念

窗体

面板

样式

其他资源

ASP.NET 移动控件的设计和呈现概念

应用程序开发人员指南