更新 : 2007 年 11 月
ASP.NET モバイル コントロールには、コンテンツを小さなレンダリング単位に自動的に分割する改ページ調整が用意されています。改ページ調整を使用すると、コンテンツのグループはターゲット デバイスに合うように自動的に書式設定されます。フォームは、他のページを参照するときに使用できるユーザー インターフェイス (UI) 要素もレンダリングします。
既定では、フォームに対する改ページ調整はアクティブになっていません。改ページ調整をアクティブ化するには、Form コントロールの Paginate プロパティを true に設定します。Paginate が false である場合、フォーム内のコントロールに対する Paginate プロパティの設定は無効です。また、Form コントロールには、改ページ調整の動作を制御できる PageCount、CurrentPage、PagerStyle などのプロパティも用意されています。
フォームの ControlToPaginate プロパティを使用して、フォームの特定のコントロールに対して改ページ調整を指定することもできます。
改ページ調整使用に関する推奨事項
入力フォームなど、ASP.NET モバイル Web ページの小さな対話形式フォームに対しては、多くの場合に改ページ調整は冗長です。ただし、テキストやデータを大量に表示するフォームでは、情報を複数の画面に表示するために、改ページ調整が効果的な場合もあります。
データが絶えず更新される e コマース サイトなど、随時変更されるデータが大量に含まれているページの場合には、カスタム改ページ調整の使用を検討してください。カスタム改ページ調整の詳細については、後の「カスタム改ページ調整」を参照してください。
デバイスによっては、メモリの処理能力を超える情報を表示しようとしたときに、メモリ エラーが発生することがあります。改ページ調整は、大量のテキストやデータがあるフォームを表示するのに効果的であるだけでなく、このようなメモリ エラーがデバイス上で発生するのを防止するうえでも効果的です。
デバイスの制限
一部の HTML デバイスでは JavaScript がサポートされません (JavaScript プロパティは false)。Action プロパティに空でない文字列が設定されているフォームの場合、このフォームは、JavaScript をサポートしない HTML デバイスでは改ページ調整されません。
内部改ページ調整
子コントロールなしで自動改ページ調整を実行できるモバイル コントロールは、内部改ページ調整を使用します。たとえば、List コントロールはこのコントロール自体の項目を改ページ調整することが可能で、フォームが 1 つのリストを複数ページに分割できるようにします。内部改ページ調整をサポートしないコントロールは、子コントロールを持つか、または 1 つの画面内に分割できない形で表示するかのどちらかです。
内部改ページ調整をサポートするコントロールは、PagedControl 基本クラスを使用して、内部およびカスタム改ページ調整用の改ページ調整プロパティ、メソッド、およびイベントを派生させます。FirstVisibleItemIndex などのプロパティは、ページ上の個々の項目へのアクセスを提供します。ほかのプロパティは、項目のウエイトおよび表示される項目数を提供します。
List、ObjectList、および TextView の各コントロールは、内部改ページ調整をサポートします。
カスタム改ページ調整
内部改ページ調整をサポートするコントロールは、カスタム改ページ調整もサポートします。通常、コントロールにはすべてのページのデータを一度で提供する必要があります。次に、コントロールは現在のページ以外をすべて破棄します。カスタム改ページ調整の場合、コントロールは現在のページの項目のみを読み込むイベントを発生させます。項目の合計数は、ItemCount プロパティに指定できます。既定値であるゼロから ItemCount プロパティを変更すると、コントロールはカスタム改ページ調整を使用します。この場合、コントロールは LoadItems イベントを発生させ、このイベントによりアプリケーションで指定したイベント ハンドラを呼び出して現在のページの項目を指定できます。このイベント ハンドラは、適切なデータを取得し、そのデータをコントロールに連結します。