Il setup:ASP.NET MVC controller fileContent ActionResult chiamato tramite la tecnologia AJAX
Il controller contiene un metodo che restituisce un public ActionResult SaveFile()
FileContentResult
.
Ciò che funziona:
La vista contiene una forma, che sottopone a questa azione. Il risultato è questa finestra di dialogo:
cosa non funziona:
la vista contiene alcuni javascript per fare una chiamata AJAX per la stessa azione di controllo in cui la forma sarebbe postare. Invece di attivare la suddetta finestra di dialogo, o anche la funzione AJAX success, la risposta attiva la funzione di errore AJAX e il XMLHttpRequest.responseText
contiene la risposta del file.
Cosa devo fare:
Fai la richiesta per il file utilizzando AJAX, e finiscono con lo stesso risultato al momento della presentazione di un modulo. Come posso fare in modo che la richiesta AJAX fornisca la finestra di dialogo che mostra l'invio di un modulo?
Perché non puoi semplicemente usare chiamata non ajax? – LukLed
Posso, ma voglio fare qualche altra elaborazione nella funzione javaScript una volta che il salvataggio è stato completato, come sbloccare il modulo, che ho bloccato prima di salvare. – Rick
OK, quindi è possibile prima chiamare ajax SaveFile. SaveFile restituirà vero/falso. Quando restituisce true, si chiama GET non Ajax per ottenere il file. – LukLed