Domanda

Che cosa realisticamente utilizzare OnItemDataBound per un ripetitore?

È stato utile?

Soluzione

"Questo evento vi dà l'ultima opportunità per accedere alla voce di dati prima che venga visualizzata sul client. Dopo questo evento viene generato, il dato viene reso nullo fuori e non è più disponibile."

http: // msdn .microsoft.com / en-us / library / system.web.ui.webcontrols.datagrid.onitemdatabound.aspx

Altri suggerimenti

Un uso potrebbe essere la generazione controllo dinamico in base alle informazioni che è disponibile solo dal dato legato al momento in cui è legato il ripetitore.

L'ho usato quando ho avuto bisogno di massaggiare i dati un po 'per ogni elemento del ripetitore.

E 'necessario se si desidera personalizzare un singolo elemento all'interno del modello con controlli dinamici o dati che non faceva parte del gruppo di risultati originariamente legata al ripetitore.

Pensate a come questo. Come viene creato il vostro articolo, tutti gli eventi OnDataBinding sparano per tale voce specifica. Ci potrebbero essere molte cose che si accumulano una voce così tanti eventi OnDataBinding potrebbe essere chiamato. Una volta che è tutto fatto, questo è l'evento che viene attivato in modo da poter applicare un po 'finale 'tocchi' e tutti gli eventi OnDataBinding sono fatto in questo momento.

Eg. È voce riempie 10 campi di dati e fa ogni genere di cose quando si lega. Una volta che tutti i dati è riempito si desidera controllare alcuni pezzi di quei dati che ora è stato creato e impostare qualcosa a tutta voce, come l'intero colore riga o alcune icone in base ai dati provenienti da tutta la voce.

L'ho usato per implementare un ripetitore nidificato. Nel gestore di eventi ItemDataBound del ripetitore esterno, si esegue il codice per DataBind esempio della voce corrente del ripetitore interno.

Trovo la sintassi di associazione dati di difficile lettura e di debug. Io non credo di aver mai fatto nulla con OnItemDataBound che non ho potuto fare mettendo un'espressione di associazione dati nella marcatura, ma se voglio cambiare in un secondo momento, io personalmente trovo molto più facile da impostare solo un punto di interruzione in OnItemDataBound e quindi utilizzare la finestra immediata inchiodare quello che voglio hanno reso. Sono anche un aderente al apparentemente dissolvenza (ad esempio Ruby) dictum che il codice e markup dovrebbero essere separati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top