打印页面而不显示它?

reb*_*ard 6 html c# printing asp.net

我有一个页面,用户可以从中打印.但是,要打印的页面不是用户正在查看的页面,而是我想在后台生成的新页面,并且(可能)仅显示打印对话框.

只是为了说清楚:

  1. 用户在" View.aspx "上并单击我的" 打印"按钮(而不是浏览器的按钮).
  2. " 打印"按钮加载" Printable.aspx " 的内容,并在用户仍处于" View.aspx "状态时为其显示打印对话框.

仅供参考,我要避免的是在新窗口中打开" Printable.aspx ",然后显示其打印对话框.

提前致谢.

Car*_*lin 12

在CSS中使用MEDIA标记的组合来显示/隐藏要打印的对象.

<STYLE type="text/css">
@media print {
   .PrintOnly {font-size: 10pt; line-height: 120%; background: white;}
}
@media screen {
   .PrintOnly {display: none}
}
</STYLE>
Run Code Online (Sandbox Code Playgroud)

您可以Display:none在媒体屏幕上创建样式的控件,因此用户只能在打印时看到它们.

<DIV class="PrintOnly">
This control will only show up during printing
</DIV>
Run Code Online (Sandbox Code Playgroud)

您的任何控件都可以归类为"PrintOnly",因此您只能在打印时看到它们.您只需要为"@media screen"定义一次css类,为"@media print"定义一次,以确保它们的行为不同.

您还可以引入整个样式表以供打印使用.

<LINK rel="stylesheet" type"text/css" href="screen.css" media="screen">
<LINK rel="stylesheet" type"text/css" href="print.css" media="print">
Run Code Online (Sandbox Code Playgroud)