Sto utilizzando il modello post-redirect-get per tutti i miei moduli, ma ora è necessario aggiungere funzionalità AJAX per migliorare l'esperienza dell'utente. I miei pensieri iniziali sono che i due non si mescolano.Il modello PRG non è compatibile con i moduli AJAX?
Nello scenario PRG, avrei la mia azione post che poi reindirizzerà nuovamente alla mia azione di get se c'è un errore di convalida, o reindirizzare al mio successo agire diversamente.
Nello scenario AJAX, ho bisogno di restituire una vista parziale in entrambi i casi. Più tipicamente, vorrei verificare per prima cosa se fosse una richiesta AJAX. In tal caso, restituire la vista parziale, altrimenti restituire la vista.
Qualche idea o suggerimento?
È possibile Estrarre la logica if ajax ... in un metodo AjaxView in una classe base per rimuovere la confusione. Il problema principale del tuo approccio è che stai restituendo una vista dall'azione POST in modo che non sia PRG nel caso di un errore di convalida. Ho reindirizzato all'azione GET originale, utilizzando un'esportazione e un'importazione di ModelState. Il problema principale è che FireFox non conserva il flag ajax tra i reindirizzamenti, quindi nella mia azione GET, IsAjaxRequest è false. Attualmente devo aggirare questo problema con un altro filtro di azione che conserva il flag in tempdata. Tuttavia non è molto elegante. –