2017-04-03 4 views
0

Hauptformular Auftakt:Stopp Javascript von hinten Taste

von Code aufrufen hinter, für ein Dropdown-Listenfeld, erstelle ich eine URL ein PDF zu erzeugen, und diese Form (PDFGenerator) zu schließen, die dann zurückkehrt zurück zum Mainform:

string redirect = "<script>window.open('/pdfgenerator/BL/" + customerdocument.DocumentId');</script>"; 
this.Response.Write(redirect); 

der PDFGenerator schafft die pdf, und schließt dann diese Webseite automatisch‘

HttpContext.Current.Response.Clear(); 
HttpContext.Current.Response.ContentType = "application/pdf"; 
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); 
pdfFileStream.CopyTo(HttpContext.Current.Response.OutputStream); 
HttpContext.Current.Response.Flush(); 
HttpContext.Current.Response.SuppressContent = true; 
HttpContext.Current.Response.OutputStream.Flush(); 
HttpContext.Current.Response.OutputStream.Close(); 
HttpContext.Current.Response.End(); 

wenn ich jetzt auf der default/Hauptseite bin, und zu einer anderen Seite navigieren, ein Wenn Sie die Zurück-Taste drücken, erscheint die pdfgenerator-Seite wieder und erzeugt eine weitere PDF-Datei, obwohl das Dropdown-Menü nicht angeklickt wurde. Ich habe versucht, Breakpoints einzurichten, um zu sehen, ob es auf der Hauptseite Javascript gab, das anrief, um das abzustoßen (es gab nicht). Und ich schaute auf die verweisende Seite des PDF-Generators (die die Hauptseite angibt, und nicht die Seite, auf die ich gerade den Zurück-Knopf gedrückt habe). Wer weiß was das ist? Und wie man es stoppt? Oder das Javascript irgendwie entladen, damit es nicht wieder auf der Zurück-Schaltfläche aufgerufen wird?

Antwort

0

Wir endeten den C# Code hinterher und gingen mit direktem Javascript. Kein Postback wird jetzt aufgerufen (natürlich).