代码之家  ›  专栏  ›  技术社区  ›  rebelliard

打印页面而不显示?

  •  6
  • rebelliard  · 技术社区  · 14 年前

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

    只是为了澄清一下:

    1. 用户在“ VIEW.ASPX “然后点击我的 打印 按钮(不是浏览器的按钮)。
    2. 这个 打印 按钮加载“的内容 ASPX “并在用户仍处于打开状态时为其显示打印对话框” VIEW.ASPX “。

    仅供参考,我想避免的是 ASPX “在新窗口中打开,然后显示其打印对话框。

    事先谢谢。

    4 回复  |  直到 12 年前
        1
  •  12
  •   Carter Medlin    12 年前

    使用CSS中媒体标记的组合来显示/隐藏要打印的对象。

    <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”和“@media print”定义一次CSS类,以确保它们的行为不同。

    您也可以将整个样式表仅用于打印。

    <LINK rel="stylesheet" type"text/css" href="screen.css" media="screen">
    <LINK rel="stylesheet" type"text/css" href="print.css" media="print">
    
        2
  •  1
  •   loxxy    14 年前

    打印 单击按钮,添加 ASPX 隐藏的面板 VIEW.ASPX。 通过将javascript添加到 VIEW.ASPX &打印隐藏面板(amp;P) 打印窗口()

        3
  •  0
  •   spinon    14 年前

    我不认为你想要的是可能的。但我可能错了。尽管更好的方法是使用不同的CSS样式表。

        4
  •  0
  •   Community CDub    7 年前

    您可以将页面加载到隐藏的iframe元素中,然后使用javascript来执行该页面的打印功能。

    但是,正如@carter建议的那样,CSS是更好的方法。当您可以重新设置当前内容的样式时,为什么要多次加载重复内容?

    那一页的功能。

    但是,就像@carter建议的那样,css是更好的方法。当您可以重新设置当前内容的样式时,为什么要多次加载重复内容?