デッキ サイズ制限への対処
更新 : 2007 年 11 月
WML ベースの携帯電話が Web ページを要求すると、サーバーが返す WML デッキは WAP ゲートウェイによってコンパイルされ、Web ページがコンパクトに表示されます。ブラウザは、コンパイルされた方のデッキを受信します。
ほとんどの WML ベースのブラウザには、受信可能なコンパイル済みのデッキのサイズに制限があります。これはデッキ サイズ制限と呼ばれ、個々のデバイスによって異なります。この制限はゲートウェイでコンパイルされるコンテンツに適用されるため、WML デッキがデバイスに対して大きすぎるかどうかを特定するのは困難です。ゲートウェイのコンパイルによるサイズの変更は WML デッキのコンテンツによって異なるため、動的なデータ バインド ページの場合は特に困難です。
ASP.NET は、デッキが個々のデバイスのデッキ サイズ制限内に収まるようにするための制限または切り捨てを行いません。一般的なガイドラインとして、レンダリングされる WML 出力が 1200 文字程度になるようにページをデザインする必要があります。これによって、ほとんどの場合、動的なコンテンツの変化のためにデッキが大きくなりすぎるのを防ぐことができます。
レンダリング サイズを特定するには
ページのコントロールがデータ連結されている場合は、データを一般的なデータ セットに連結します。
ページをエミュレータでテストします。
エミュレータからの情報を使用するか、ASP.NET のトレース機能を使用して、レンダリングされた出力のサイズを調べます。
レンダリングされるページのサイズを小さくするには
ページでレンダリングされるマークアップのサイズを小さくするには、以下のガイドラインに従います。
プロパティのオーバーライドを使用して、短縮 (省略) されたテキストをラベル、リスト、および他のコントロールに指定します。
Paginate プロパティを true に設定して、フォームの改ページ調整を有効にします。
1 つのフォームを複数のフォームに分割します。
Panel コントロールをコンテンツ テンプレートと共に使用して、他のデバイスに別のコンテンツを提供します。
List コントロール、または同様のコントロールを使用する場合は、ItemsPerPage プロパティを設定して各ページの項目数を減らします。プロパティのオーバーライドを使用して、この値を 1 つまたは複数の WML ベース デバイスに固有の値にすることができます。
ページの動的なコンテンツが大幅に増減する場合は、さまざまな量のデータを使用してページ サイズのテスト手順を繰り返し、サイズを比較してページ サイズを減らす方法を調べることができます。
MobileCapabilities クラスの MaximumRenderedPageSize プロパティは、ターゲット デバイスの最大デッキ サイズを指定します。この値をプロパティのオーバーライドと共に使用すると、特定のデバイスに適合するようにアプリケーションのコントロールをより細かくカスタマイズすることができます。たとえば、デバイスの最大デッキ サイズが 2000 バイトを超える場合、1200 文字ではなく、1500 文字を目安にしてページのコンテンツを調整することができます。