次の方法で共有


複数のデバイスに対応した Web アプリケーションの構成

更新 : 2007 年 11 月

ASP.NET モバイル Web ページはさまざまなモバイル デバイスに対して適切なマークアップを自動的にレンダリングできますが、デバイスまたはデバイスのクラスに固有のレンダリングまたは処理を定義できます。デバイス フィルタを使用すると、デバイスの特定のサブセットを対象とすることができます。この機能を使用するには、デバイスの機能に基づいて選択条件を指定します。デバイス フィルタは、Web.config ファイルの <deviceFilters> セクションに格納されています。Web.config ファイルにある一般的なフィルタは、一覧表示したり、アプリケーションの任意の場所から名前によって参照したりできます。

fcs06t52.alert_note(ja-jp,VS.90).gifメモ :

デバイス フィルタの名前は、大文字と小文字が区別されます。たとえば、isColor というフィルタは、IsColor というフィルタとは異なります。

デバイス フィルタを定義すると、それを ASP.NET モバイル コントロール内に適用して、デバイス固有のレンダリングを定義できます。適用したデバイス フィルタは、.aspx ファイルにある DeviceSpecific 構成要素内の <choice> 要素に割り当てられます。この時点で、プロパティのオーバーライドと適用したデバイス フィルタのテンプレートを設定できます。デバイス固有のカスタマイズの例を以下に示します。

  • 表示機能に基づいて Image コントロールの異なるイメージを選択するなど、コントロールのプロパティをオーバーライドします。

  • 各モバイル デバイスに応じて、異なるレンダリング スタイルを使用します。

  • Pocket PC などのデバイスで表現力豊かなレンダリングを行うためのテンプレートを使用します。

これらの例ではいずれも、対象デバイスが Web.config ファイルの <deviceFilters> セクションに一致するかどうかに基づくフィルタ処理が必要です。これらのフィルタは、1 か所ではなく、アプリケーション全体で使用される場合もあります。

詳細については、「デバイス フィルタに関する推奨事項」を参照してください。

デバイス テンプレート

すべてのモバイル コントロールには、特定のデバイスとマークアップ言語 (たとえば、HTML、cHTML、または WML) に対応した既定の表示形式とレイアウトがあります。この表示形式とレイアウトは、プロパティを設定するか、スタイルを使用することによって変更することが可能です。また、一部のコントロールはテンプレートを使用して表示形式をカスタマイズすることもできます。

テンプレートは、特定のマークアップ言語のコントロール部分のレイアウトを構成する要素とコントロールのセットです。たとえば、List コントロールでは、特にヘッダー テンプレートまたはフッター テンプレートを定義できます。また、テンプレートを定義して各リスト項目の形式を指定したり、別のテンプレートを使用して代替リスト項目の形式を指定したりすることも可能です。

fcs06t52.alert_note(ja-jp,VS.90).gifメモ :

テンプレートは、スタイルとは異なります。スタイルは、色、フォントなどの要素の表示形式を指定します。コントロールの表示形式だけを変更する場合は、スタイルを使用します。テンプレートと共にスタイルを使用すると、テンプレート内で定義した要素の表示形式を制御できます。

テンプレートは、マークアップ言語および埋め込まれたコントロールで構成されています。コントロールがモバイル Web ページで実行されると、ASP.NET はコントロールの既定のマークアップの代わりにテンプレートのコンテンツをレンダリングします。詳細については、「デバイス固有のテンプレートの使用」を参照してください。

一部のコントロールでは、<deviceSpecific> タグおよび <choice> タグによってテンプレートの複数のセットを使用できます。このようなテンプレートの複数のセットは、テンプレート セットと呼ばれます。

プロパティのオーバーライド

モバイル Web ページでは、対象デバイスに応じて、モバイル コントロールのプロパティを個別に設定することが必要な場合もあります。たとえば、Label コントロールについて、あるデバイス セットでは長いテキストを保持し、別のデバイスでは短縮したテキストを保持するように設定する場合があります。各コントロールについて、各対象デバイスのプロパティをオーバーライドできます。

fcs06t52.alert_note(ja-jp,VS.90).gifメモ :

プロパティのオーバーライドを設定するには、まずデバイス フィルタを定義する必要があります。このフィルタを使用して、カスタムのプロパティ値を定義するモバイル デバイスのセットを指定します。

参照

概念

モバイル コントロールのカスタム属性

デバイス フィルタに関する推奨事項

デバイス評価メソッド

拡張されたブラウザの機能

参照

HasCapability

MobileControl