我有一个页面,用户可以从中打印。但是,要打印的页面不是用户正在查看的页面,而是我想在后台生成的新页面,并且(可能)只显示它的打印对话框。
为了让事情更清楚:
- 用户在“View.aspx”上并点击我的打印按钮(不是浏览器的按钮)。
- Print 按钮加载“Printable.aspx”的内容,并在用户仍在“View.aspx<”时为其显示一个打印对话框/strong>”。
仅供引用,我要避免的是在新窗口中打开“Printable.aspx”,然后显示其打印对话框。
提前致谢。
最佳答案
在 CSS 中使用 MEDIA 标签的组合来显示/隐藏要打印的对象。
<STYLE type="text/css">
@media print {
.PrintOnly {font-size: 10pt; line-height: 120%; background: white;}
}
@media screen {
.PrintOnly {display: none}
}
</STYLE>
您可以在媒体屏幕上制作样式为 Display:none
的控件,以便用户仅在打印时看到它们。
<DIV class="PrintOnly">
This control will only show up during printing
</DIV>
您的任何控件都可以归类为“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">
关于c# - 打印页面而不显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3345688/