Je travaille sur une application ASP.NET. Actuellement, lorsque l'utilisateur clique sur "Sauvegarder" sur un élément, nous désactivons le bouton Enregistrer, changeons son texte en "Enregistrement ..." et ainsi de suite. Cela fonctionne correctement, car le bouton provoque une publication qui entraîne le chargement d'une nouvelle page, sur laquelle le bouton Enregistrer n'est plus désactivé. Nous voulons maintenant l'appliquer à d'autres actions: Publier (pas très différent de Enregistrer), Importer (encore une fois, un peu comme Sauvegarder, mais basé sur les données que l'utilisateur a téléchargées dans une étape précédente), Exporter (télécharger un fichier XML fichier à l'utilisateur) etc.Après la désactivation d'un bouton Envoyer avec JS, réactivez-le après le téléchargement du fichier
L'exportation me cause des problèmes - le bouton reste désactivé. Je pense que c'est parce que le serveur renvoie un fichier XML plutôt qu'une nouvelle page web, et donc le navigateur n'affiche que la même page.
Le code côté serveur est le long des lignes de
Response.Clear();
Response.BufferOutput = true;
Response.ContentType = "text/xml";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + whatever);
[push file contents into Response.OutputStream]
Response.End();
[Aucune idée si cela est bon code ou pas - c'est pas à moi - mais il fait le travail :)]
Fondamentalement, Je voudrais savoir soit:
- une façon de rendre le serveur envoyer une nouvelle page de retour dans la réponse ainsi que le XML, re-enablnig ainsi le bouton de la même manière que les autres pages font, ou
- un moyen d'obtenir le navigateur/JS pour réactiver le bouton une fois le fichier a été envoyé.