SelectionList e valori di indice

Nella misura in cui è possibile, il controllo mobile ASP.NET SelectionList consente di creare un linguaggio con tag molto conciso per il browser del client. Nella maggior parte dei casi il contenuto della proprietà Value dell'elemento non viene inviato al client. Viene invece inviato un numero di indice a base zero per l'elemento.

Si supponga, ad esempio, che in un controllo SelectionList con l'identificatore MySelectionList siano contenuti i valori delle proprietà dell'elemento presenti nella tabella che segue.

Testo Valore
Rain "stringa relativa alla pioggia"
Snow "stringa relativa alla neve"
Sun "stringa relativa al sole"
Wind "stringa relativa al vento"

Una parte del linguaggio con tag creato dal controllo per il browser del client avrebbe l'aspetto che segue.

<Select Name = "MySelectionList">
   <Option Value = "0">Rain</Option>
   <Option Value = "1">Snow</Option>
   <Option Value = "2">Sun</Option>
   <Option Value = "3">Wind</Option>
<Select>

Quando l'utente sceglie un elemento dell'elenco e nel browser del client viene eseguito il postback del form al server, viene inviato il numero di indice dell'elemento selezionato. Se, avvalendosi dell'esempio precedente, l'utente seleziona Snow e il client esegue l'invio del form, al server verrà restituito il numero 1.

Dal momento che le stringhe delle proprietà Value dell'elemento non vengono passate tra il client e il server, la comunicazione procede in modo più efficace. Questa tecnica è particolarmente utile per i canali senza fili con larghezza di banda ridotta.

È possibile che non venga eseguito il postback dell'input dell'utente alla stessa pagina. Il problema si verifica quando la proprietà Action del controllo Form in cui è contenuto il controllo SelectionList è impostata sull'URL di un'altra pagina. In questo caso, il controllo SelectionList non tenta di ottimizzare l'output. Al posto dei numeri di indice, vengono infatti inviate al client le stringhe effettive contenute in ciascuna proprietà Value dell'elemento.

Vedere anche

Accesso ai dati mediante i controlli elenco