分页支持

更新:2007 年 11 月

无线设备使用的屏幕功能相差很大。有些屏幕支持丰富的内容显示,而有些仅显示几行单色文本。基本屏幕的内容经常必须分页才能正确显示。ASP.NET 移动控件使应用程序能够将窗体自动分成适合于目标设备的页。本节描述移动控件如何参与分页过程。

了解分页权重系统

窗体分页过程基于一个权重系统。每个页适配器通过 OptimumPageWeight 属性返回窗体的最佳页权重。

设备适配器集可以为页以及每个控件提供最佳权重。这些权重的单元选择很灵活。虽然您可以调整适当的权重单元规范,但如果遵循默认的单元系统,则可以对设备适配器集使用控件的默认权重。

说明:

默认单元系统基于一行 100 个单元,这是由 ControlPager 类的 DefaultWeight 常数指示的。

分页时,ASP.NET 循环访问控件树,计算权重并分配页码。ASP.NET 呈现当前页后,执行适当的分页。使用 FirstPageLastPage 属性可以确定控件的已分配页。

分页算法考虑了禁止跨多页进行分页的控件设置。例如,您可能不希望 Panel 控件的内容分散在几页上。要禁止对控件内容分页,请在控件的实现中重写 PaginateChildren 属性并返回 false。

支持基本分页

要确保正确分页,控件必须重写 VisibleWeight 属性,然后返回一个权重。默认权重为 100,它对应于默认单元系统中的一行。

或者,如果希望控件权重根据设备而定,则控件适配器可以用适合特定设备的值重写 VisibleWeight 属性。VisibleWeight 属性的 MobileControl 基类实现从设备适配器中检索该值。

内部和自定义分页的设计

一些控件使用分页机制将控件中的内容分散到多个窗体页中,即使它们不包含子控件。例如,包含大量项的 List 控件可能会将自身分为多个窗体页。这称为内部分页。能够内部分页的控件也能够自定义分页。自定义分页为应用程序提供了一个回调函数,它允许应用程序按需要向控件提供必要的数据以及组合相关的数据。

禁止分页

分页是将控件的内容分到多个页中。某些情况下,可能需要禁止控件分散到多个页中。例如,您可能希望禁止 Panel 控件分页。Panel 控件具有 Paginate 属性,该属性默认情况下被设置为 false。

请参见

其他资源

添加新的设备适配器和设备支持