2012-04-09 3 views
0

Ich habe eine in Registerkarten ASP.NET-Website wie dieseTabbed Website in ASP.NET, möchte alle von ihnen drucken, Empfehlungen?

|TITLE1| - |TITLE2| - |TITLE3| - ETC. 

Wenn Benutzer klickt auf Title 2, nur die div unter auf Titel 2 zeigt entsprechende, und so weiter. Ich habe eine Druckbild-Schaltfläche erstellt, aber ich möchte es so einrichten, dass es so gedruckt wird, als ob alle Registerkarten übereinander gestapelt wären. Derzeit druckt es nur die Registerkarte, auf die geklickt wurde.

+0

CSS Druckmedien – epascarello

Antwort

2

Sie müssen den Inhalt aller Registerkarten in ein div rendern, das mit einem css media print rule verknüpft ist. Ihre aktuellen Tabs benötigen außerdem eine andere CSS-Regel, die sie zum Drucken ausblendet.

So zum Beispiel haben Sie

<div id="tabs" class="print_hidden"> 
Your actual tabs go here 
</div> 
<div id="printTabs" class="screen_hidden"> 
Your printer friendly text goes here when the link below is clicked. 
</div> 
<asp:LinkButton runat="server" id="lnkPrinterFriendly">Printer-friendly view</asp:LinkButton> 

dann in CSS-Datei haben Sie die folgenden Schritte aus:

@media print { 
.screen_hidden { display: none; } 
} 

@media screen { 
.print_hidden { display: none; } 
} 
2

ein Druck-Stylesheet verwenden, die alle Registerkarten (die ich annehmen würde, in div Elemente sein) auf display: block eingestellt.

+0

Ich habe eine print.css mit Medientyp Drucken oben auf der Seite verknüpft.In der .CSS ich hinzugefügt: div.tabs-1 { Anzeige: Block; } div.tabs-2 { Anzeige: Block; } div.tabs-3 { Anzeige: Block; }. Aber trotzdem, wenn ich es drucken möchte, druckt nur der aktuelle Tab statt aller drei, was habe ich vermisst? Vielen Dank. –

+0

gotit ... eine wichtige Option wurde von jQuery gesetzt, wenn wir .hide() für unsere divs aufrufen. Habe das von da wichtige gelöscht und es funktioniert jetzt, danke. –