Ho un requisito per visualizzare un messaggio che conferma l'aggiornamento di un database in un'applicazione ASP.NET MVC. Attualmente l'applicazione mostra solo messaggi (utilizzando un helper ValidationSummary) quando si verifica un errore. In caso di operazione riuscita, l'applicazione attualmente reindirizza a un punto adatto nella navigazione.ASP.NET MVC: Come visualizzare il messaggio di conferma del successo dopo l'elaborazione lato server
Gli obiettivi sono:
- Visualizzare il messaggio di conferma in modo appropriato
- Ridurre al minimo le azioni degli utenti necessari per procedere dopo aver letto un messaggio
- Evitare un posto/andata e ritorno in più per visualizzare il messaggio
- Ridurre al minimo lo sforzo di sviluppo e rischio l'inserimento di un messaggio in più punti nell'applicazione
La mia preferenza sarebbe una sorta di visualizzazione dei messaggi del tipo di suggerimento vicino al pulsante di invio e quindi un meccanismo per rimuovere il messaggio e procedere con il reindirizzamento esistente dopo il successo.
Questo sembra suggerire una chiamata Ajax piuttosto che il POST HTTP esistente per inviare il modulo. Come andrei su questo?
Mi piace perché mi dà la possibilità di mostrare il messaggio sulla pagina a cui reindirizzo dopo l'aggiornamento riuscito. Se seguo questo approccio, un'opzione potrebbe essere quella di mostrare il messaggio in un pannello del tipo di descrizione che scompare automaticamente dopo un tempo predeterminato, senza richiedere ulteriori azioni da parte dell'utente. Ha anche un basso impatto in termini di refactoring richiesto. Grazie! –
Mi piace la tua risposta, la mia unica preoccupazione è il reindirizzamento all'errore. Questo quindi impedirebbe all'utente di inviare il proprio post. O forse è questa l'idea? Il successo è sicuro, blocca le risposte doppie., Ma l'errore potrebbe richiedere una nuova presentazione. – Tod
Ciao @Tod Vedo il tuo punto, tuttavia ritengo che le tue preoccupazioni riguardino più la convalida dei dati. Se c'è un problema con i dati inviati dall'utente, questo sarebbe gestito usando 'ModelState.IsValid' e quindi si può' restituire View (vm) 'aggiornerò la mia risposta per essere un po 'più chiara. – SimonGates