2009-05-27 3 views
6

1) utente selezionando un elemento in DropDownList è considerata dati di postback, e per questo motivo DropDownList implementa IPostBackDataHandler.IPostBackEventHandler VS IPostBackDataHandler

a) Ma perché l'utente non sta spostando (nel controllo Calendar) a un altro mese considerato anche un dato di postback? Quindi, perché Calendar implementa IPostbackEventHandler e non IPostbackDataHandler?


2)
a) Si considera che i controlli di esecuzione IPostBackEventHandler anziché IPostBackDataHandler non riceve dati di postback?


b) Se implementa il controllo IPostBackDataHandler, quindi evento di postback del controllo sarà licenziato ogni volta cambiati i suoi dati, anche se il controllo non ha causato un postback

Ma se il controllo implementa IPostbackEventHandler, quindi solo la volta che verrà generato l'evento di postback del controllo è se tale controllo abbia attivato anche un postback?

risposta

19
  1. DropDownList vs interfacce evento di calendario:
    • La selezione nel menu a tendina è considerato dati. Dovresti inviare le informazioni nell'elenco a discesa come dati (nella maggior parte dei casi).
    • La modifica della selezione sul controllo Calendar è considerata un evento, ma non un evento che invia dati. Attiva semplicemente un evento in modo che il codice sappia cambiare lo stato del controllo.
      La differenza tra questi due è molto sottile.
  2. La documentazione per IPostBackEventHandler e IPostBackDataHandler spiegare il loro scopo nella documentazione, ma non riescono a fare la distinzione chiara:
    • IPostBackEventHandler viene utilizzato per l'attivazione di eventi che non dipendono da dati, ma su un utente di azione. Ad esempio, il controllo Calendar può attivare un evento per quando si fa clic su una data. Questo evento dipende dalle azioni dell'utente, non dai dati inseriti dall'utente.
    • IPostBackDataHandler viene utilizzato per l'attivazione di eventi che dipendono dai dati nel controllo. Ad esempio, un TextBox ha un evento OnTextChanged, che deve essere attivato solo se il testo nelle modifiche .
+6

Se potessi, avrei accettato questa risposta al posto del ragazzo che ha chiesto e mai guardato indietro. –

3

Per aggiungere, controlli che implementano IPostBackDataHandler non si basa sullo stato di visualizzazione per la conservazione dei dati in tutta postback.

Edit: Ma tutti i controlli dipendono lo stato di visualizzazione di mantenere la visibilità

+1

+1 - Punto eccellente .. – desigeek

Problemi correlati