Domanda

Quali sono alcuni scenari in cui MultiView sarebbe una buona scelta? Il controllo MultiView insieme ai controlli View sembrano semplicemente ampliare la nozione di pannelli.

Sia i pannelli che le visualizzazioni multiple sembrano inclini ad abusi. Se i problemi relativi all'interfaccia utente e i problemi relativi alla logica biz sono adeguatamente separati, perché visualizzare le viste in blocco in un singolo ASPX?

È stato utile?

Soluzione

Ho usato MultiView come base più flessibile per un controllo Wizard.

Sono d'accordo sul fatto che raggruppare molte visualizzazioni insieme sia un odore di codice. Nel caso di un mago ci sono spesso molti pezzi di stato che si desidera condividere durante il processo. Il multiview consente a questo stato di essere semplicemente memorizzato nel viewstate.

Il più delle volte faccio del contenuto di ogni vista un singolo controllo utente che può incapsulare la logica relativa a quel particolare passaggio.

Altri suggerimenti

L'ho usato in passato per implementare una semplice interfaccia a schede abilitata Ajax.

Disegna un pulsante in modo che assomigli a una scheda, quindi imposta l'evento onClick per cambiare la vista attiva in un pannello di aggiornamento.

Qualsiasi situazione in cui ti trovi a attivare / disattivare la visualizzazione di uno o più pannelli è il candidato principale per un controllo MultiView. Un controllo della procedura guidata più basato su modelli o, ad esempio, moduli master / di dettaglio.

Sono d'accordo che sono aperti per abuso e dovresti valutare se è meglio separare il codice in pagine separate prima di usarli. Ho lavorato a progetti in cui lo sviluppatore precedente ha cercato di mettere troppo su una singola pagina usando MultiViews e sono un vero inferno con cui lavorare.

Una cosa di cui diffidare con MultiViews è che a differenza dei pannelli, tutti i controlli di origine dati dichiarativi contenuti al loro interno si legheranno sempre, anche quando la vista in cui sono contenuti non è attiva / visibile.

Ogni volta che desideri mostrare contenuti diversi su una pagina in base a una condizione. Al lavoro ho creato un controllo a schede che utilizza solo un MultiView e un altro controllo semplice che ho creato che assomiglia a schede. Ogni scheda mette un collegamento (che è in stile) nell'altro controllo che è cablato per impostare la vista attiva sulla scheda corretta.

Può essere utile per cose come i moduli online, in cui potresti avere una vista che mostra il modulo reale e un'altra vista visualizzata dopo la parola con il "grazie" testo ecc.

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