Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
Für ASP.NET Mobile-Steuerelemente kann auf die durch den <deviceFilters>-Abschnitt in der Datei Web.config bereitgestellten Funktionen mit der HasCapability-Methode der MobileCapabilities-Klasse programmgesteuert zugegriffen werden. Durch Aufrufen dieser Methode können Sie Vergleichsmethoden auswerten.
Die HasCapability-Methode ist nützlich, um programmgesteuert zu bestimmen, ob das aktuelle Gerät einem in der Datei Web.config deklarierten Gerätefilter entspricht. Die MobileCapabilities-Instanz speichert die Auswertung der HasCapability-Methode zwischen, sodass folgende Anforderungen desselben Funktionsnamens und optionalen Arguments nicht erneut ausgewertet werden müssen. Die HasCapability-Methode ist nützlich, wenn Sie Code schreiben möchten, der abgleicht, wie das ASP.NET-Seitenframework in einem <DeviceSpecific>-Element unter mehreren Möglichkeiten auswählt.
Hinweis: |
|---|
Die HasCapability-Methode unterstützt keine Auswahl von <DeviceSpecific>-Elementen, mit denen auf der Seite definierte Methoden aufgerufen werden. |
Die HasCapability-Methode akzeptiert zwei Argumente: capabilityName (der Name der Methode, der Eigenschaft oder des Elements zur Geräteauswertung im Funktionswörterbuch) sowie optionalArgument (ein beliebiges, für das capabilityName-Argument erforderliches Argument). Die HasCapability-Methode führt die Auswertung in folgender Reihenfolge aus:
Sie überprüft, ob es sich bei dem capabilityName-Wert um den Namen eines in der Datei Web.config angegebenen Gerätefilters handelt.
Hinweis:Die HasCapability-Methode wertet das <DeviceSpecific>-Konstrukt und das <Choice>-Konstrukt aus, indem das optionalArgument-Argument auf null festgelegt wird.
Wenn die Überprüfung in Schritt 1 true zurückgibt und es sich bei dem Filter um eine delegierte Auswertung handelt (ein Filter, der zum Auswerten der angegebenen Daten eine benutzerdefinierte Methode verwendet), ruft die HasCapability-Methode den Delegaten mit dem im optionalArgument-Parameter bereitgestellten Argument auf und gibt das Ergebnis zurück.
Wenn die Überprüfung in Schritt 1 true ist und es sich bei dem Filter um eine Vergleichsauswertung handelt (ein Filter, der einen Funktionsnamen mit einem angegebenen Wert vergleicht), ruft sich die HasCapability-Methode mit dem Funktionsnamen und Argument aus der Auswertung selbst auf (optionalArgument-Parameter werden ignoriert) und gibt das Ergebnis zurück.
Wenn das MobileCapabilities-Objekt die Eigenschaft capabilityName besitzt, wandelt die HasCapability-Methode diese Eigenschaft in eine Zeichenfolge um und gibt true zurück, wenn der optionalArgument-Wert dieser Zeichenfolge entspricht. Im Gegensatz zu anderen Vergleichen wird bei booleschen Vergleichen die Groß-/Kleinschreibung nicht berücksichtigt. Deshalb ist "true" zu "True" äquivalent, nicht aber "left" zu "Left".
Wenn keine capabilityName-Eigenschaft vorhanden ist, sucht die HasCapability-Methode im Funktionswörterbuch, das dem MobileCapabilities-Objekt zugeordnet ist. Wenn die capabilityName-Eigenschaft vorhanden ist, vergleicht die HasCapability-Methode sie mit dem optionalArgument-Parameter und gibt das Ergebnis zurück. Eine Umwandlung ist nicht erforderlich, da das Wörterbuch Zeichenfolgen verwaltet.
Wenn diese Überprüfungen fehlschlagen, löst die HasCapability-Methode eine ArgumentOutOfRangeException-Ausnahme aus.
Beispiele
Die folgenden Beispiele zeigen, wie Sie die HasCapability-Methode aufrufen können, wobei GPSEnabled und ScreenBitDepth definierte Filter, Eigenschaften oder Werte in der Items-Auflistung darstellen.
((MobileCapabilities)Request.Browser).HasCapability("GPSEnabled", null);
Alternativ können Sie die Methode folgendermaßen aufrufen:
((MobileCapabilities)Request.Browser).HasCapability("ScreenBitDepth", "8");
Siehe auch
Konzepte
Empfehlungen zum Filtern von Geräten