J'ai implémenté le contrôle AsyncFileUpload
sur une page Web. Cette page Web exige que les fichiers téléchargés apparaissent dans un GridView
.
Le GridView
contient les colonnes suivantes: « Nom du fichier », « Confidential » case à cocher, et un « Retirez » pour supprimer le fichier téléchargé.AsyncFileUpload postback provoque le double téléchargement
Depuis le AsyncFileUpload
postback ne fait pas une pleine page postback, je dois « forcer » une publication sur l'événement OnClientUploadComplete
du contrôle AsyncFileUpload afin de rendre le gridview après avoir téléchargé un fichier. J'ai utilisé le javascript pour appeler __doPostBack
. Dans cette publication, je lie uniquement mon GridView et affiche les informations sur le fichier (je ne sauvegarde pas le fichier).
Le problème: Lors de la première publication "partielle" de AsyncFileUpload
, le fichier a été téléchargé avec succès, comme prévu. Sur le deuxième postback que je force avec __doPostBack
, le fichier est re-téléchargé.
Vous pouvez vérifier cela en utilisant Google Chrome, qui affiche la progression du téléchargement. Le comportement est le suivant:
- Après avoir sélectionné le fichier, la progression passe de 0% à 100% et le fichier est téléchargé.
- Après cela, le __doPostBack
s'exécute, et vous pouvez voir l'incrément de progression de téléchargement de nouveau de 0% à 100%.
Comment puis-je m'assurer que le Gridview est correctement rempli, mais que le fichier n'est pas téléchargé deux fois?
J'attaché une solution d'échantillon qui contient la question: https://www.yousendit.com/download/MzZFc2ZBNDRrYUN4dnc9PQ
S'il vous plaît aidez-moi @ user619814: http://stackoverflow.com/questions/18682909/display-gridview-after-upload-file-in-asyncfileupload-in-updatepanel-asp- net-cs –