SelectionLists und Indexwerte
Aktualisiert: November 2007
Die vom ASP.NET Mobile-Steuerelement SelectionList an den Client-Browser ausgegebene Markupsprache ist so prägnant wie möglich. In den meisten Fällen übermittelt ASP.NET den Inhalt der Value-Eigenschaft des Elements nicht an den Client. Stattdessen sendet es eine nullbasierte Indexnummer für das Element.
Angenommen, ein SelectionList-Steuerelement enthält Elemente mit Text- und Werteinstellungen, die in der folgenden Tabelle aufgeführt sind.
Elementtext |
Elementwert |
---|---|
Rain |
"A rainy string" |
Snow |
"A snowy string" |
Sun |
"A sunny string" |
Wind |
"A windy string" |
Ein Teil des vom Steuerelement wiedergegebenen Markups würde ungefähr wie folgt aussehen:
<Select Name = " WeatherSelectionList">
<Option Value = "0">Rain</Option>
<Option Value = "1">Snow</Option>
<Option Value = "2">Sun</Option>
<Option Value = "3">Wind</Option>
<Select>
Wenn der Benutzer ein Element aus der Liste auswählt und der Browser das Formular an den Server sendet, sendet der Client die Indexnummer des ausgewählten Elements. Wenn der Benutzer Snow auswählt, sendet der Client die Zahl 1 an den Server.
Die Kommunikation erfolgt effizienter, da die Zeichenfolgen in der Value-Eigenschaft der Elemente nicht zwischen Client und Server übergeben werden. Dieses Verfahren bietet sich besonders bei drahtlosen Kanälen mit schmaler Bandbreite an.
Möglicherweise sendet der Client die Benutzereingaben nicht an dieselbe Seite zurück. Dies geschieht, wenn die Action-Eigenschaft des Form-Steuerelements, das das SelectionList-Steuerelement enthält, auf den URL einer anderen Seite festgelegt wird. In diesem Fall versucht das SelectionList-Steuerelement nicht, die Ausgabe zu optimieren. Anstatt Indexnummern an den Client zu senden, sendet es die eigentlichen Zeichenfolgen, die in der Value-Eigenschaft jedes Elements enthalten sind.