Ausblenden Kopf- und Fußzeile, während ein webcontrol Druck ASP.NET verwenden
-
05-07-2019 - |
Frage
Wie kann ich den Header wie 'Seite 1 von 1' und Fußzeile (url), wenn das Drucken ein webcontol in ASP.NET verbergen?
ich zur Zeit, indem Sie eine neue Seite auf Schaltfläche Drucken klicken Ande in dem Öffnen
protected void Page_Load(object sender, EventArgs e)
{
if( null != Session["Control"] )
{
Control ctrl = ( Control )Session["Control"];
PrintManager.PrintWebControl( ctrl );
Session["Control"] = null;
}
}
Dies wird die Kopf- und Fußzeile drucken. Wie es zu vermeiden?
Lösung
Diese Einstellung wird vom Benutzer im Browser konfiguriert. Sie ist keine Möglichkeit, es aus dem Code zu deaktivieren. You'r beste Wette ist, enthalten Anweisungen, wie die Einstellungen konfigurieren / deaktivieren.
ein Beispiel Siehe hier: http://www.xheo.com/products/sps/default. aspx? print = wahr
Andere Tipps
Sie sollten CSS-Stile verwenden, und geben Sie sie an einen Medientyp Druck anwenden. Lesen Sie diesen Artikel um Hilfe; http://www.cantoni.org/articles/printstyle
erstellen Grundsätzlich ein separates Stylesheet für Druckformate nur. Wenn Sie etwas auf der Seite Verwendung { display:none }
als eines jener Attribute Elemente Stil zu verbergen. Dann verknüpfen Sie Ihren Stylesheet im HEAD-Elemente;
<link href="print.css" media="print" type="text/css" rel="stylesheet" />
Für das wir Druck Klasse wie es verwenden
public static void PrintWebControl(Control ctrl)
{
PrintWebControl(ctrl, string.Empty);
}
public static void PrintWebControl(Control ctrl, string Script)
{
StringWriter stringWrite = new StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new System.Web.UI.HtmlTextWriter(stringWrite);
if (ctrl is WebControl)
{
Unit w = new Unit(100, UnitType.Percentage); ((WebControl)ctrl).Width = w;
}
Page pg = new Page();
pg.EnableEventValidation = false;
if (Script != string.Empty)
{
pg.ClientScript.RegisterStartupScript(pg.GetType(), "PrintJavaScript", Script);
}
HtmlForm frm = new HtmlForm();
pg.Controls.Add(frm);
// done changes on below 1 line for unassigned header URL //
frm.ResolveUrl("");
frm.Attributes.Add("runat", "server");
frm.Controls.Add(ctrl);
pg.DesignerInitialize();
pg.RenderControl(htmlWrite);
string strHTML = stringWrite.ToString();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Write(strHTML);
HttpContext.Current.Response.Write("<script>window.print();</script>");
HttpContext.Current.Response.End();
}
hier nur eine Linie in Form Eigenschaft ändern und
frm.ResolveUrl("");
so URl nicht sichtbar ist, wenn Seite ist print..i Verwendung es successfuly.
Wenn Sie Firefox verwenden, und Sie können die Client installieren diese Add-on .
Andernfalls, wenn Sie den Internet Explorer verwenden: google für " MeadCo ScriptX "
(FF Option ist kostenlos, IE Option für die Grundfunktionalität frei ist nur)