So implementieren Sie einen Dateidownload in ASP.NET AJAX

8

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?

    
Peter Stegnar 26.08.2009, 07:03
quelle

4 Antworten

10

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.

Ссылка

    
Peter Stegnar 27.08.2009, 10:19
quelle
2

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%     
awe 26.08.2009 07:57
quelle
0

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.

%Vor%

Sie können Ihren MimeType nach Registrierung angeben, es sei denn, Ihr MIME-Typ ist statisch wie Bilder.

%Vor%

Viel Glück.

    
Myra 26.08.2009 08:25
quelle
0

Ich konnte das lösen, indem ich eine JavaScript-Funktion aufruft, die __doPostBack ohne __EVENTTARGET aufruft.

%Vor%

Das serverseitige Grid parst dann das __EVENTARGUMENT und rendert die Exportdatei.

%Vor%     
Dale K 24.10.2013 18:21
quelle

Tags und Links