Freigeben über


<Choice>-Element (.NET Framework-Entwicklerhandbuch)

Aktualisiert: November 2007

Stellt eine einzelne Auswahl aus einer Auswahlgruppe in einem <DeviceSpecific>/<Choice>-Konstrukt bereit. Während der Wiedergabe wird entsprechend den Merkmalen des Zielgeräts eine der Auswahlmöglichkeiten in einem <DeviceSpecific>-Element ausgewählt.

Ein <Choice>-Element kann beliebig viele Vorlagen enthalten. Wenn ein <Choice>-Element Vorlagen enthält, kann es als Vorlagensatz verwendet werden. Weitere Informationen finden Sie unter Vorlagensätze und Steuerelemente mit Vorlagen.

Das <Choice>-Element kann auch Eigenschaften enthalten, die Eigenschaften des übergeordneten Steuerelements oder Stils überschreiben. Die folgenden Typen von Eigenschaften können überschrieben werden:

  • Jede Eigenschaft, die deklarativ auf einen literalen Wert festgelegt werden kann, mit Ausnahme des ID-Attributs und des runat-Attributs. Eigenschaften, die auf Objekte festgelegt sind, zum Beispiel DataSource-Eigenschaften von Steuerelementen, können nicht festgelegt werden.

  • Jede Ereignishandlereigenschaft. Der überschreibende Ereignishandler wird den vorhandenen Ereignishandlern hinzugefügt, ohne diese zu ersetzen.

  • Alle benutzerdefinierten Attribute. Jede nicht erkannte Eigenschaft wird als ein benutzerdefiniertes Attribut gespeichert, sofern die Seite das Definieren von benutzerdefinierten Attributen für Steuerelemente zulässt.

    Hinweis:

    Beim Auswählen eines Geräts sollte die Standardauswahl immer vom letzten Element gebildet werden. (Andernfalls werden nach der Standardauswahl angezeigte Optionen nicht ausgewertet, da immer die Standardoption ausgewählt wird.) Sie können in einem <Choice>-Element beliebig viele zusätzliche Attribute deklarieren. Dies ermöglicht es Ihnen, Eigenschaften des Containersteuerelements auf gerätespezifischer Grundlage festzulegen. Wenn ein <Choice>-Element für ein Steuerelement ausgewählt wurde, überschreiben diese zusätzlichen Attributen die entsprechenden Eigenschaften des Containersteuerelements.

<Choice Filter="deviceFilterName"
    Other attributes here.>
        templates
</Choice>

Eigenschaften

Eigenschaft

Beschreibung

Filter

Gibt den auszuwertenden Gerätefilter an. Wenn Sie diese Eigenschaft nicht angeben, wird der Standardwert für die Auswahl verwendet.

Contents

Gibt die für eine Auswahl definierten überschriebenen Eigenschaften zurück. Das Ändern dieser Auflistung nach dem Verarbeiten der überschriebenen Eigenschaften (in OnDeviceCustomize) hat keine Auswirkungen.

HasTemplates

Gibt true zurück, wenn für das <Choice>-Element Vorlagen definiert sind. Andernfalls wird false zurückgegeben.

Templates

Gibt den für ein <Choice>-Element definierten Vorlagensatz zurück.

Xmlns

Wird vom Designer verwendet, um den Markuptyp in Vorlagen eines <Choice>-Elements zu bestimmen. Sie ist nicht für die Verwendung durch Entwickler vorgesehen.

Der Filtername muss mit dem Namen einer Methode auf der Seite, der zugeordneten ASCX-Datei oder mit dem Namen eines gültigen Gerätefilters übereinstimmen, der im Abschnitt <deviceFilters> der Datei Web.config definiert ist. Wenn ein Methodenname in der Filter-Eigenschaft angegeben ist, muss diese Methode folgende Signatur aufweisen:

public bool methodName(
    System.Web.Mobile.MobileCapabilities capabilities,
    String optionalArgument)

Wenn beispielsweise die Filter-Eigenschaft auf myChoiceMethod festgelegt wird, muss eine Methode mit der folgenden Signatur vorhanden sein:

public bool myChoiceMethod(
    System.Web.Mobile.MobileCapabilities capabilities, 
    String optionalArgument)

Beim Auswerten des <Choice>-Elements wird ermittelt, ob eine Methode der entsprechenden Signatur auf der Seite vorhanden ist. Wenn dies nicht der Fall ist, wird der Abschnitt <deviceFilters> der Datei Web.config überprüft.

Weitere Informationen zur Gerätefilterauswertung finden Sie unter Gerätespezifische Wiedergabe und in der Dokumentation zur Filter-Eigenschaft.

Beschreibung

Ein ausführliches Beispiel finden Sie unter der Filter-Eigenschaft.

Code

<DeviceSpecific>
  <Choice Filter = "isHTML32">
    <HeaderTemplate>
      <mobile:Image runat=server ImageUrl="defaul1.gif" />
    </HeaderTemplate>
  </Choice>
  <Choice Filter="prefersWBMP">
    <HeaderTemplate>
      <mobile:Image  ImageUrl="default1.wbmp" />
        Wbmp Image<br />
    </HeaderTemplate>
  </Choice>
</DeviceSpecific>

Siehe auch

Konzepte

Gerätespezifische Wiedergabe

Gerätevorlagenunterstützung

Vorlagensätze und Steuerelemente mit Vorlagen

Referenz

<deviceFilters>