打印机友好页面使用Response.Write

时间:2013-04-08 10:08:04

标签: c# asp.net response.write

我需要创建一个打印友好的页面,其中只包含我的单页网站中的一些数据字段。我被告知要使用Response.Write来完成此操作。

我在任务中得到了这个线索:

  

诀窍是使用Page提供的Response方法   类(更确切地说,它由名为的父类提供)   System.Web)。您在屏幕上显示的内容由System.Web管理   对象并使用Response方法,您可以放置​​任何您想要的内容   那里。

我做了一些谷歌搜索,但这似乎不应该这样做,但出于某种原因必须这样做。

基本上,它必须通过清除页面并仅通过一些变量来创建一个易于打印的页面,以在白色上显示纯黑色。

1 个答案:

答案 0 :(得分:0)

  

我被告知要使用Response.Write来完成此操作。

谁告诉你这样做是错误的,错误的,错误的。

如果您需要将任何类型的网页设为“打印机友好”,那么正确的方法是通过media queries

因此,如果您的网页目前有这样的CSS

<link rel="stylesheet" type="text/css" href="style.css">

然后,您只需创建第二个样式表,其中包含使页面“打印机友好”所需的一切,然后将您的html更改为包含print版本。

<link rel="stylesheet" type="text/css" media="print" href="print.css">
<link rel="stylesheet" type="text/css" media="screen" href="style.css">

然后在print.css样式表中,您可以使用与打印视图直接相关的样式。可以在this link

中找到一些示例
/*Make your layout similar to a sheet of paper*/
body, #content, #container {
    width: 100%;
    margin: 0;
    float: none;
    background: #fff url(none);
}

/*Hide navigation, ads, and anything else you don't want printed*/
#topnav, #navbar, #nav, #sidebar, .ad, .noprint {
    display: none; 
}

/*Set a new default font*/
body {
    font: 1em Georgia, "Times New Roman", Times, serif;
    color: #000; 
}

/*Style your headings*/
h1,h2,h3,h4,h5,h6 {
    font-family: Helvetica, Arial, sans-serif;
    color: #000;
}
h1 { font-size: 250%; }
h2 { font-size: 175%; }
h3 { font-size: 135%; }
h4 { font-size: 100%; font-variant: small-caps; }
h5 { font-size: 100%; }
h6 { font-size: 90%; font-style: italic; }

/*Display the links associated with hyperlinks*/
a:link, a:visited {
    color: #00c;
    font-weight: bold;
    text-decoration: underline; }

#content a:link:after, #content a:visited:after {
    content: " (" attr(href) ") ";
}