Freigeben über


WML-Adaptergruppe

Aktualisiert: November 2007

Die WML-Adaptergruppe besteht aus Klassen, mit denen ASP.NET Mobile-Webseiten auf Clients wiedergegeben werden können, die WML, Version 1.1 oder Version 1.2, unterstützen. Einige Methoden und Eigenschaften sind in dieser Dokumentation möglicherweise nicht enthalten. In der folgenden Tabelle sind die Hauptklassen in der WML-Adaptergruppe aufgeführt:

Adaptergruppe für WML-Geräte

Namespace der Hauptadapterklasse

Abstrakte ControlAdapter-Basisklasse

WmlControlAdapter

HtmlFormAdapter-Klasse

WmlFormAdapter

Abstrakte PageAdapter-Klasse

WmlPageAdapter

MobileTextWriter-Klasse

WmlMobileTextWriter

Ein Openwave Up.Browser verwendet einen anderen Seitenadapter und TextWriter. In der folgenden Tabelle werden die Hauptklassen aufgeführt, die von der Adaptergruppe verwendet werden, die diese Browser unterstützt.

Adaptergruppe für UP.Browser

Namespace der Hauptadapterklasse

Abstrakte ControlAdapter-Basisklasse

WmlControlAdapter

HtmlFormAdapter-Klasse

WmlFormAdapter

Abstrakte PageAdapter-Klasse

UpWmlPageAdapter

MobileTextWriter-Klasse

UpWmlMobileTextWriter

Hinweis:

Bei UP.Browser, Versionen 4.1 oder 3.2, verhält sich die Redirect-Methode immer so, als ob der Wert der SupportsRedirectWithCookie-Eigenschaft des HttpBrowserCapabilities-Objekts false ist, es sei denn, die Cookieless-Eigenschaft im SessionState-Abschnitt von Web.config wurde explizit auf true festgelegt.

In ASP.NET, Version 1.1, waren die Optionen für diese Einstellung true oder false, aber mit ASP.NET, Version 2.0, wurden die Auswahlmöglichkeiten erweitert, und AutoDetect ist nun die Standardeinstellung. Wenn in der Webanwendung das cookieless-Attribut des <sessionState>-Abschnitts in der Datei Web.config auf einen booleschen Wert festgelegt wird, funktioniert die Redirect-Methode für diese Browser wie erwartet.

Auswahl

Die WML-Adaptergruppe wird ausgewählt, wenn die PreferredRenderingType-Eigenschaft der MobileCapabilities-Klasse PreferredRenderingTypeWml11 oder PreferredRenderingTypeWml12 zurückgibt.

Adaptives Rendering

Die WML-Adaptergruppe kann sich sehr flexibel an die verschiedenen Funktionen von WML-Mobiltelefonen anpassen. Daher ruft die Adaptergruppe die Render-Methode für jedes Formular und dessen untergeordnete Steuerelemente zweimal auf. Beim ersten Durchgang befindet sich der Writer im Analysemodus und verwendet alle eingehenden Aufrufe zum Analysieren der Formularausgabe. Beim zweiten Durchgang findet die eigentliche Wiedergabe des Formulars statt.

Erstellen Sie keine Adapter, die zwischen den Durchgängen unterscheiden. Wenn es unbedingt erforderlich ist, können Sie einen Adapter schreiben, der durch Überprüfen der AnalyzeMode-Eigenschaft der WmlMobileTextWriter-Klasse auf den aktuellen Modus zugreifen kann.

Standardwiedergabe

In den folgenden Schritten wird die Standardwiedergabe von Seiten- und Formularadapterklassen in der WML-Adaptergruppe dargestellt.

Der Seitenadapter führt folgende Schritte aus:

  1. Ruft die BeginResponse-Methode und die BeginFile-Methode für den Writer auf. Der Inhaltstyp ist text/vnd.wap.wml.

  2. Schreibt ein öffnendes <wml>-Tag.

  3. Gibt das aktive Formular wieder.

  4. Gibt verknüpfte Formulare als Bestandteil desselben WML-Stapels wieder.

  5. Schreibt ein schließendes </wml>-Tag.

  6. Ruft die EndFile-Methode und die EndResponse-Methode auf.

Der Formularadapter führt folgende Schritte aus:

  1. Legt den Writer auf den Analysemodus fest.

  2. Ruft die BeginForm-Methode des Writers auf.

  3. Gibt die Formularinhalte wieder. Die Ergebnisse werden nicht an das Gerät übertragen, sondern vom Writer analysiert.

  4. Ruft die EndForm-Methode des Writers auf.

  5. Legt den Writer auf den aktiven Modus fest.

  6. Ruft die BeginForm-Methode des Writers auf.

  7. Gibt die Formularinhalte wieder.

  8. Ruft die EndForm-Methode des Writers auf.

Verwenden von Stilen

Die WmlMobileTextWriter-Klasse stellt mehrere Hilfsmethoden bereit, die Sie beim Verwenden von Stilinformationen für die Wiedergabe von Inhalten unterstützen:

  • Mit der EnterLayout-Methode und der ExitLayout-Methode kann ein Adapter mithilfe der Absatzformatierung eines bestimmten Stils Markup zum Beginnen und Beenden eines Blocks ausgeben.

  • Mit der EnterFormat-Methode und der ExitFormat-Methode kann ein Adapter mithilfe der Zeichenformatierung eines bestimmten Stils Markup zum Beginnen und Beenden eines Blocks ausgeben.

  • Mit der ResetFormattingState-Methode kann ein Adapter den Formatierungszustand auf den Standardzustand zurücksetzen.

Methoden für das adaptive Rendering

Die WmlMobileTextWriter-Klasse stellt mehrere übergeordnete Wiedergabemethoden bereit, die in der folgenden Tabelle dargestellt werden.

Zum Wiedergeben von Inhalten müssen WML-Adapter diese Methoden verwenden, da der Writer die Ausgabe automatisch an die Funktionen des Zielgeräts optimal anpassen kann.

Details zu jeder dieser Methoden finden Sie in der Dokumentation für die WmlMobileTextWriter-Klasse.

Writermethode

Beschreibung

RenderText

Gibt ein Textelement wieder.

RenderImage

Gibt ein Bildelement wieder.

RenderTextBox

Gibt ein Element eines Texteingabefelds wieder.

RenderEndHyperlink

Gibt ein Hyperlinkelement wieder.

Rufen Sie die RenderText-Methode oder die RenderImage-Methode auf, um einen Text oder ein Bild innerhalb des Hyperlinks wiederzugeben.

RenderBeginPostBack

RenderEndPostBack

Gibt ein Postback-Element wieder.

Rufen Sie die RenderText-Methode oder die RenderImage-Methode auf, um einen Text oder ein Bild innerhalb des Postbacks wiederzugeben.

RenderBeginSelect

RenderEndSelect

RenderSelectOption

Gibt ein Element einer Auswahlliste wieder.

Ruft die RenderSelectOption-Methode auf, um jede Option in der Auswahlliste wiederzugeben.

AddFormVariable

Fügt eine Variable und einen Anfangswert für die Wiedergabe mit dem Formular hinzu. Wenn ein WML-Gerät das Formular wiedergibt, initialisiert es die Variable auf den angegebenen Anfangswert.

Zusätzlich stellt die WmlControlAdapter-Basisklasse mehrere übergeordnete Methoden bereit, die in der folgenden Tabelle dargestellt werden. Jede dieser Methoden führt die Wiedergabe mit den zuvor aufgeführten Writermethoden durch.

Adaptermethode

Beschreibung

RenderBeginLink

RenderEndLink

Gibt eine Verknüpfung wieder. Der Adapter bestimmt automatisch, wie die Verknüpfung wiedergegeben wird. Dabei werden Verknüpfungen auf Formularen auf derselben Seite als Postbacks und andere Verknüpfungen als Hyperlinks wiedergegeben.

Rufen Sie die RenderText-Methode oder die RenderImage-Methode für den Writer auf, um Text oder ein Bild innerhalb des Links wiederzugeben.

RenderLink

Gibt eine Verknüpfung mit innerem Text wieder.

RenderPostBackEvent

Gibt ein Postback-Ereignis mit dem Steuerelement als Ziel wieder.

Wiedergeben von Menüs

Auf einigen WML-basierten Geräten wird ein Formular, das aus mehreren Links oder Ankern besteht, mithilfe des <select>-Elements und des <option>-Elements besser als Menü aus Elementen mit einer automatisch generierten tastaturgesteuerten Benutzeroberfläche wiedergegeben. Ein Openwave UP.Browser ist ein Beispiel für solch ein Gerät.

Der WML-Formularadapter kann ein Formular als Menü wiedergeben, wenn das Formular aus 0 (null) oder mehr Steuerelementen besteht, die als statischer Text wiedergegeben werden, auf die mindestens ein Steuerelement folgt, das ein <select>-Element und ein <option>-Element wiedergeben kann.

Wenn die RendersWmlSelectsAsMenuCards-Eigenschaft der MobileCapabilities-Klasse auf true festgelegt wird, kann das Gerät <select>-Elemente eher als Menükarten denn als Kombinationsfeld wiedergeben.

Die CanCombineFormsInDeck-Eigenschaft wird auf true festgelegt, wenn der Browser Stapel mit mehreren Formularen als getrennte Karten behandeln kann. Der Adapter kann mehrere Formulare von derselben Seite als Karten eines einzigen Stapels ausgeben.

Wiedergabe von Steuerelementen in Formularen mit ACCEPT-Element

Wenn ein wiedergegebenes Formular eine Benutzeroberfläche enthält, um das Formular zurück an den Server zu senden, verlangen einige WML-basierte Geräte, dass die Benutzeroberfläche für das angegebene Gerät ein <do>-Element am Anfang des Formulars ist. Ein Openwave UP.Browser ist ein Beispiel für solch ein Gerät.

Wenn die Benutzeroberfläche für ein Gerät ein <do>-Objekt erfordert, überprüft der Formularadapter, ob für Steuerelemente im Formular eine Benutzeroberfläche zum Senden erforderlich ist, und ob eines der Steuerelemente eine solche Benutzeroberfläche bereitstellt. Um dies zu bestimmen, fragt der Formularadapter die Adapter jedes Steuerelements im Formular ab.

Wiedergabe für Bildschirmtasten

Einige Steuerelemente geben eine Benutzeroberfläche wieder, die einer Bildschirmtaste auf einem WML-basierten Gerät zugeordnet werden kann. Die RendersWmlDoAcceptsInline-Eigenschaft der MobileCapabilities-Klasse wird auf true festgelegt, wenn das Gerät ein <do>-WML-Element als Inlineschaltfläche statt als Bildschirmtaste wiedergibt.

Sekundäre Benutzeroberfläche

Die WML-Adaptergruppe unterstützt das Konzept der sekundären Benutzeroberfläche, mit der Steuerelemente zusätzliche Bildschirme der Benutzeroberfläche anzeigen. Ein Steuerelementadapter führt folgende Schritte zum Verwenden einer sekundären Benutzeroberfläche aus:

  1. Als Reaktion auf eine Benutzerinteraktion (üblicherweise in der überschreibbaren HandlePostBackEvent-Methode) gibt der Steuerelementadapter einen sekundären Benutzeroberflächenmodus an, indem er die SecondaryUIMode-Eigenschaft der WmlControlAdapter-Basisklasse festlegt.

  2. Bei der Wiedergabe überprüft das Steuerelement, ob es sich im Modus für die sekundäre Benutzeroberfläche befindet. Wenn dies der Fall ist, wird die entsprechende sekundäre Benutzeroberfläche wiedergegeben.

  3. Der Steuerelementadapter kann als Reaktion auf eine Benutzerinteraktion in der sekundären Benutzeroberfläche den Modus für die sekundäre Benutzeroberfläche in einen anderen Wert ändern oder diesen Modus durch Aufruf der ExitSecondaryUIMode-Methode der WmlControlAdapter-Basisklasse beenden.

Zusatzfunktionen

WML-Geräte machen Zusatzfunktionen verfügbar, mit denen die Wiedergabe geändert werden kann. Auf diese Funktionen kann über die HasCapability-Methode der MobileCapabilities-Klasse zugegriffen werden.

Siehe auch

Konzepte

Funktionen von Adaptergruppen

Referenz

Tabelle der Gerätefunktionen