デバイス評価メソッド
更新 : 2007 年 11 月
ASP.NET モバイル コントロールでは、デバイス評価メソッドによって、HasCapability メソッドで直接使用できる名前付きフィルタを作成できます。これらのフィルタは、Web.config ファイルで <DeviceSpecific> セクションの <Choice> 要素を使用して間接的に使用することもできます。
名前付きフィルタを指定するには、Web.config ファイルの <deviceFilters> セクションにエントリを追加します。次の例では、デバイス フィルタ isHTML32 を定義しています。
<filter name="isHTML32" compare="PreferredRenderingType"
argument="html32" />
実行時には、このフィルタにより、現在の要求の MobileCapabilities インスタンスにある PreferredRenderingType プロパティの値が、値 html32 と比較されます。
次の例は、新機能 GPSEnabled を定義する方法を示しています。詳細については、「完全修飾型名の指定」を参照してください。
namespace MyNamespace
{
public class MyCapabilityEvaluators
{
public static bool IsGPSEnabled(
System.Web.Mobile.MobileCapabilities capabilities,
String unusedArg)
{
// processing code
}
}
}
次の要素を適切な Web.config ファイルに追加して新機能を追加します。
<deviceFilters>
<filter name="GPSEnabled"
type="MyNamespace.MyCapabilityEvaluators, MyAssembly"
method="IsGPSEnabled" />
</deviceFilters>
レンダリング時に、<DeviceSpecific> 要素内の選択項目の 1 つが、ターゲット デバイスの機能に基づいて選択されます。比較処理として、まず、フィルタ名とページ上で定義されたフィルタの照合が行われます。Web.config ファイルまたは構成階層に適切なシグネチャのメソッドが存在する場合は、このメソッドを使用して、名前をフィルタ処理し、<Choice> エントリを評価します。