拡張されたブラウザの機能
更新 : 2007 年 11 月
MobileCapabilities クラスは、ASP.NET の標準ブラウザ機能に基づいて構築されています。クライアントが ASP.NET のモバイル Web ページに接続すると、ASP.NET は要求に含まれる情報から要求元のデバイスを特定し、MobileCapabilities オブジェクトを要求にアタッチします。アプリケーションは、HttpRequest オブジェクトの Browser プロパティを通じてこのオブジェクトにアクセスできます。このプロパティは、Page オブジェクトの Request プロパティにマップされています。
アプリケーション コードは、2 つの方法で MobileCapabilities オブジェクトの個々の機能にアクセスできます。まず、アプリケーション コードは高レベルの機能のプロパティすべてにアクセスすることができます。これらの読み取り専用の各プロパティは、対応する機能のタイプ セーフな値または適切な既定値を返します。以下のサンプルは、高レベルのプロパティの使用方法を示しています。
if (((MobileCapabilities)Request.Browser).ScreenCharactersWidth > 20)
{
// Coding for big screen capabilities is placed here.
}
else
{
// Coding for small screen capabilities is placed here.
}
次に、アプリケーション コードは既定のインデクサを使用して、ディクショナリとしての機能にアクセスできます。ディクショナリの値は、Machine.config ファイルまたは Web.config ファイルの <browserCaps> セクションに含まれる値と同じです。戻り値は常に string または null 参照 (値が設定されていない場合) のいずれかです。アプリケーションは、必要に応じてこの文字列を解析する必要があります。次のサンプルは、ディクショナリ プロパティを使用して、上のサンプルと同じ機能を果たしています。
String screenWidthText = Request.Browser["screenCharactersWidth"];
int screenWidth = 40;
if (screenWidthText != null)
screenWidth = Int32.Parse(screenWidthText);
if (screenWidth > 20)
{
// This block contains code supporting a larger screen size.
}
else
{
// This block contains code supporting a smaller screen size.
}
メモ : |
---|
Web.config ファイルで直接に定義されているのではなく、ディクショナリのエントリから派生した MobileCapabilities プロパティは、一部のデバイスで不一致が発生する原因となることがあります。 |