Nota: dal flusso di lavoro non mi riferisco alla tecnologia del flusso di lavoro, come la base del flusso di lavoro.Best practice per il flusso di lavoro delle applicazioni Web?
Troppo spesso mi viene richiesto di progettare pagine che passano attraverso una serie di passaggi.
1) Selezionare da un set di opzioni. Sottoscrivi. 2) Compila una pagina con i risultati. Fare cambiamenti. Sottoscrivi. 3) Fai qualcosa in base ai risultati precedenti. Sottoscrivi. 4) Confermare le azioni precedenti. Sottoscrivi. 5) Goto 1.
Un sito di e-commerce con carrello della spesa sarebbe un esempio da manuale.
Ora, ci sono diversi modi per affrontare questo. La mia domanda è, qual è il modo consigliato di farlo in asp.net? In PHP o ISAPI userei solo i controlli html standard, ottenere i dati dei post e fare cose con essi, ognuno su una pagina diversa.
ASP.NET sembra essere più orientato verso soluzioni a pagina singola. Fai il tuo lavoro, postback a te stesso, quindi visualizza i risultati nella stessa pagina .. spostandoti fino alla fine, usando qualcosa come MultiView o UpdatePanels per fare il lavoro. Ma la chiave è che non si effettua il postback su un'altra pagina.
Ora capisco che Microsoft ha aggiunto i postback di pagine incrociate a .NET nelle versioni recenti, ma questo sembra meno cotto e un po 'ingombrante. È difficile lavorare con i dati che sono stati postati indietro a meno che non li esponi tramite proprietà o qualcosa della tua pagina precedente.
Come gestisci lo scenario che ho esposto sopra? Usi un multi-view o updatepanel e fai tutto in un'unica pagina? O lo fai in più pagine? Quali sono le tue migliori pratiche in questo senso? Hai qualche disegno specifico che tendi ad usare? Come procedi nel strutturare il flusso di lavoro dei siti?
Penso che memorizzare i dati sia probabilmente il modo migliore per andare. Un po 'di lavoro in più, ma poi non devi ingannare con il materiale cross-page e puoi semplicemente fare affidamento su una variabile di sessione per mantenere la chiave primaria dei dati. –