重新編頁
更新:2007 年 11 月
ASP.NET Mobile 控制項提供重新編頁功能,此功能能自動將表單內容分成較小的呈現內容群組。當您使用重新編頁時,這些內容群組會自動針對目標裝置進行格式化。表單也會呈現能讓您瀏覽其他網頁的使用者介面 (UI) 項目。
根據預設,表單不啟動重新編頁。若要啟動重新編頁,請將 Form 控制項的 Paginate 屬性設定為 true。如果 Paginate 是 false,設定表單內控制項上的 Paginate 屬性就不會具有效果。Form 控制項也會提供其他屬性,例如 PageCount、CurrentPage 和 PagerStyle,這些屬性可以用來控制重新編頁行為。
您也可以使用表單的 ControlToPaginate 屬性來指定表單上特定控制項的重新編頁。
使用重新編頁的建議
在 ASP.NET Mobile Web 網頁中,通常針對例如輸入表單等中小型互動表單進行重新編頁是多此一舉。但是,對於要顯示大量文字或資料的表單而言,重新編頁可有效地在多個畫面上顯示資訊。
當頁面包含會隨著時間變更的大量資料,例如資料不斷更新的電子商務網站,這時就可以考慮使用自訂重新編頁。如需使用自訂重新編頁的詳細資訊,請參閱本主題稍後的「自訂重新編頁」一節。
資訊過多而記憶體無法處理時,有些裝置會出現記憶體錯誤。重新編頁不僅能有效顯示包含大量文字或資料的表單,還可以防止使用者的裝置遭遇這類記憶體錯誤。
裝置限制
某些 HTML 裝置不支援 JavaScript (JavaScript 屬性為 false)。如果表單 Action 屬性設定為非空字串,此表單就無法在不支援 JavaScript 的 HTML 裝置上重新編頁。
內部重新編頁
不需要子控制項即可自動重新編頁的行動控制項,都是使用內部重新編頁。例如,List 控制項能將自己的項目重新編頁,讓表單將單一清單分割成多重頁面。不支援內部重新編頁的控制項一定會具有子控制項,或是會完整出現在單一畫面上。
支援內部重新編頁的控制項會使用 PagedControl 基底類別 (Base Class),以衍生內部重新編頁和自訂重新編頁的重新編頁屬性、方法和事件。包含 FirstVisibleItemIndex 的屬性,可以用來存取頁面上的個別項目。其他屬性會提供項目權重和可見項目計數。
List、ObjectList 和 TextView 控制項都支援內部重新編頁。
自訂重新編頁
支援內部重新編頁的控制項也會支援自訂重新編頁。通常,控制項需要一次提供所有頁面的資料,然後捨棄除了目前頁面的所有其他資料。對於自訂重新編頁,控制項會引發事件以便只載入目前頁面的項目。您可以在 ItemCount 屬性中指定項目總數。如果您變更 ItemCount 屬性而不使用預設零值 (0),控制項便會使用自訂重新編頁。在此情況下,控制項會引發 LoadItems 事件,此事件則可呼叫應用程式指定的事件處理常式以提供目前頁面的項目。事件處理常式會擷取適當的資料,並將資料繫結至控制項。