2009-03-31 6 views
3

Wir haben ein IFrame auf einer Seite (nennen wir diese Seite DocViewer.aspx) deren Quelle auf eine andere Seite gesetzt ist. Lassen Sie uns, dass die andere Seite aufrufen DocContent.aspxServer generierte PDF wird nicht in IFrame auf aspx-Seite auf einigen (aber nicht allen) PCs angezeigt

ehe die Seite zu laden, auf DocContent.aspx.vb ist:

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    'get pdf bytes from session 
    Dim pdfBytes As Byte() = CType(Session("PDFBytes"), Byte()) 

    'remove pdf bytes from session 
    Session.Remove("PDFBytes") 

    With Response 
     ' Set the response type to PDF 
     .ClearHeaders() 
     .Buffer = True 
     .ContentType = "application/pdf" 
     .AddHeader("Content-Disposition", "inline; filename=" & "midoc.pdf") 


     .AddHeader("Content-Length", (pdfBytes.GetUpperBound(0) + 1).ToString) 
     Response.OutputStream.Write(pdfBytes, 0, pdfBytes.Length) 

     .End() 
    End With ' response 

End Sub 

und hier ist die DocContent.aspx Seite in allem ist es Ruhm:

<%@ Page Language="vb" AutoEventWireup="false" Codebehind="DocContent" Inherits="OurCompany.OurNamespace.DocContent" %> 

Die Der Grund, dass wir ein IFrame verwenden, ist, dass wir die PDF in einer Seite hosten, die auch einige Scripts ausführt und weitere Steuerelemente enthält (wenn eine bestimmte Bedingung erfüllt ist, rufen wir einen modalen Dialog mit dem Modaldialog-Extender auf wir haben dieses Verhalten ausgeschaltet und das Problem tritt immer noch auf). Kein IFrame zu verwenden, ist auch keine machbare Lösung. Ich habe die Sicherheitseinstellungen in IE überprüft und alle sind so eingestellt, dass IFrames angezeigt werden können.

Hier ist das Problem dann - auf einigen Testern PCs die Seite zeigt die PDF-Strafe. Bei anderen bekommen wir nur eine leere Seite.

Nur ein Computer, der nicht angezeigt wurde, wird angezeigt, wenn er auf IE7 aktualisiert wurde. Dies ist leider keine Lösung, da wir alles bis auf IE 5.5 unterstützen müssen :(

ich super wäre dankbar für alle Ideen jemand hat.

ich auch erwähnen sollte, dass diese Maschinen keine Probleme haben, wenn Navigieren zu einer Seite ähnlich direkt an docContent (statt in einem IFrame gehostet wird).

Oh und dank im Voraus für Ihre Hilfe.

+0

Haben alle Ihre Tester dieselbe Version von Reader auf ihren Computern installiert? Und können sie das PDF mit Reader auf ihrem System öffnen? – dirkgently

+0

Verschiedene Versionen von Acrobat Reader und verschiedene Ergebnisse. Auf meinem Rechner habe ich WinXP/IE7/Acrobate Reader 7.0 (heruntergestuft von Acrobate Reader 9.0, um zu sehen, dass es funktioniert hat ... und es tat). Von den Maschinen, die nicht funktionieren einige sind Win2K, einige sind XP, einige haben Reader 9 einige haben 8 und einige haben 7 –

+0

und schließlich zumindest die Maschinen, die die PDF nicht anzeigen werden, können die PDF außerhalb anzeigen der Browser. Danke fürs Lesen;) –

Antwort

0

Wir mussten diese ein ähnliches Problem bei der Arbeit, wo einige Benutzer am Ende würde auf einem leeren Bildschirm Die Korrektur, die wir gemacht haben, war es, die Datei auf der Festplatte zu speichern und dann den Browser auf diese Datei umzuleiten etwas Code an Ort und Stelle, so dass, wenn ein Benutzer eine Datei anfordert, eine Säuberung des Ordners (Löschen alles über etwa eine Stunde alt).

2

Es ist möglich, dass die Clients, die sich schlecht benehmen, Probleme mit der Installation von Adobe Acrobat Reader haben. Es hat Einstellungen dafür, ob es in einem Browserfenster oder extern erscheinen soll.

Die Lösung kann so einfach sein wie die Deinstallation von Acrobat Reader, Neustart, Neuinstallation von Acrobat Reader mit den Standardeinstellungen.

Verwandte Themen