Impossible de Télécharger le fichier UpdatePanel
Le code ci-dessous fonctionne, qui me permet de télécharger un document Word.....
Try
Response.BufferOutput = True
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Charset = ""
HttpContext.Current.Response.ContentType = "application/msword"
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=myfile.doc")
HttpContext.Current.Response.Write(s)
'HttpContext.Current.Response.End()
HttpContext.Current.ApplicationInstance.CompleteRequest()
HttpContext.Current.Response.Flush()
Catch ex As Exception
Response.Write(ex.Message)
End Try
Mais dès que j'ajoute un UpdatePanel - il ne marche pas télécharger le fichier, et aucune erreur n'est générée? Après la lecture, j'ai ajouté un trigger avec le ControlID valeur définie sur le bouton qui commence à créer le fichier Word doc. J'ai essayé plusieurs combinaisons de code mais rien ne semble fonctionner. Toute aide sur la façon de réduire ce bas? J'ai aussi de débogage et pas d'erreurs spectacle. Je les ai vérifié mon dossier téléchargements - rien, essayé sans cache (la Réponse.Le Cache.SetCacheability(HttpCacheability.NoCache)) et qui n'a pas fonctionné. Dès que j'ai supprimer l'UpdatePanel puis tout semble fonctionner?
<asp:UpdateProgress ID="ProgressUpdate" AssociatedUpdatePanelID="UpdatePanel1" runat="server">
<ProgressTemplate>
<img alt="progress" src="../images/loading.gif" />
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="buttonDownloadFile" />
</Triggers>
<ContentTemplate>
..
Complètement perdu sur ce point. Quelqu'un pourrait-il proposer une solution de contournement ou la façon de s'attaquer à ce problème?
Peut-être pas, mais j'aurais pensé que quelqu'un peut avoir la réponse sur ce que mon hypothèse est que quelqu'un d'autre ont essayé cela avant, je l'ai fait 😉
Cette solution de contournement de l'aide? encosia.com/ajax-file-downloads-and-iframes
OriginalL'auteur Computer | 2014-02-27
Vous devez vous connecter pour publier un commentaire.
L'UpdatePanel ne prend pas en charge le téléchargement de fichiers ou de téléchargement. Il ya des tonnes de ajax composants qui vont ce faire, Google est votre ami.
EDIT: -
Quelques exemples: -
http://forums.asp.net/t/1076322.aspx?How+to+create+a+flipcart+like+panel+for+showing+products+in+gridview - J'aime cette approche, il injecte un IFrame à l'aide de JavaScript qui pointe vers une page permettant de télécharger le fichier. Fonctionne à l'intérieur d'un UpdatePanel
http://encosia.com/ajax-file-downloads-and-iframes/ - Approche similaire
C'est incorrect et ne devrait pas être accepté de répondre.
OriginalL'auteur sh1rts
Accepté la réponse est tout simplement faux. Vous devez vous inscrire sur le contrôle avec le scriptmanager. Le mien est dans la page principale, et voici le code que j'utilise pour enregistrer n'importe quel bouton pour le bon post le dos.
np, je ne voulais pas que directeur quelqu'un d'autre dans la mauvaise direction. 🙂
Je vous dois une bière.
Je n'étais pas certaine de la façon dont vous avez obtenu votre page Maître, comme
Master
n'est pas une propriété accessible pour moi. Mais j'ai juste faitScriptManager.GetCurrent(Page).RegisterPostBackControl(YourButton);
et cela a fonctionné parfaitement pour moiIl fait partie de thesystem a.Web.L'INTERFACE utilisateur.Page --- Chaque page web. Système public.Web.L'INTERFACE utilisateur.MasterPage Maître { get; } Membre de Système.Web.L'INTERFACE utilisateur.Page
OriginalL'auteur Steve Coleman
Je l'ai eu à travailler de la manière suivante:
à l'intérieur de mon Panneau de mise à Jour, j'ai configuré les contrôles qui peuvent forece une publication complète afin d'obtenir le téléchargement de travail.
(Je suis en utilisant également des Master pages,c'est la même solution que de Steve, mais en l'inscrivant dans le aspx et pas dans le code behind)
OriginalL'auteur Butti
J'ai dû ouvrir un ashx Générique de Gestionnaire dans une autre fenêtre et passa quelques variables de session, comme nom de fichier, le chemin d'accès complet, etc.
OriginalL'auteur Santiago Trejo