Ich möchte die Standardantwort für den Download von ASP.NET-Dateien verwenden, wie in einer anderen Stack Overflow-Frage .
%Vor%Aber im Update-Panel funktioniert es nicht. Was muss ich tun, dass ich eine Datei bekomme, wenn das Download-Ereignis im Update-Panel ausgelöst wird?
Nun, ich habe einen schönen Blogbeitrag über Encosia gefunden, der die Lösung dieses ASP.NET AJAX-Datei-Download-Problems beschreibt. Es funktioniert wirklich gut.
Sie müssen dies in einem separaten aspx haben, das keinen ajax verwendet. Ajax aktualisiert vorhandene HTML-Markups auf einer Seite auf der Clientseite. Was Sie hier versuchen, ist, den Inhalt der Antwort auf der Serverseite zu ersetzen, bevor Sie etwas an den Client senden.
Du könntest das versuchen:
Haben Sie eine Seite namens Download.aspx
, die den bereits vorhandenen Sendecode enthält.
Auf Ihrer Originalseite haben Sie einen JavaScript-Aufruf, der die Download-Seite wie folgt aufruft:
%Vor%Sie können versuchen, einen Handler für diese Arbeit zu machen. Es ist sicherer, wenn Sie gut modifizieren können. Für diese Arbeit müssen Sie den Dateipfad auf Ihrer Seite verschlüsseln, wo Sie einen Link für die Datei einfügen.
%Vor%Es gibt viele Verschlüsselungstechniken in hier
Auf Ihrer Seite Handler müssen Sie den Dateipfad in den ursprünglichen Pfad entschlüsseln, damit Sie ihn mit System.IO
libraries lesen können.
Sie können Ihren MimeType nach Registrierung angeben, es sei denn, Ihr MIME-Typ ist statisch wie Bilder.
%Vor%Viel Glück.
Tags und Links asp.net-ajax download