如何仅打印一个特定的面板ID

时间:2010-10-14 21:24:38

标签: c# asp.net

我有一个aspx页面(c#使用visual studio 2010),我有一个服务条款。我想允许用户打印服务条款,而无需打印页面的其余部分。 (页面的其余部分是各种其他信息)

因此我想要一种指定面板ID的方法,当按下“Print TOS”按钮时,它只会打印指定的特定面板中的信息。

提前致谢。

5 个答案:

答案 0 :(得分:3)

为什么不用JUST打开一个弹出窗口内容并打印出来?这是通常的方式。

基本上,只使用该面板创建另一个页面,在页面加载时添加print()方法,并在弹出窗口中从主T& C页面打开该页面。

或者,我使用了一个jQuery插件,它完全按照我上面描述的那样执行,但它允许您指定要打印的<div>

在行动here中查看。

答案 1 :(得分:3)

您需要打印样式表 -

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

在该样式表中,隐藏您不想要打印的内容 - 您甚至可以调整要打印的内容以更好地适应页面。

答案 2 :(得分:1)

好的......有几件事要尝试。

1)使用一些javascript引用面板,当用户点击print时提取内容(.innerHTML),然后动态创建一个新窗口(window.open()),将HTML注入body和fire窗口。在新窗口上打印()。我已经做到了这一点之前,不确定它今天在浏览器行为方面的表现如何......

2)可能需要花费很多精力,引入一个打印特定的css文件,隐藏页面的其他部分(例如div.nav {display:none}),然后只允许打印面板

答案 3 :(得分:0)

我给了@Marko和@Chris点数,因为我发现了一个类似于他们想法的解决方案。我在这里找到了答案:

http://www.eggheadcafe.com/community/aspnet/3/10034702/how-to-print-part-of-web-page.aspx

(Sagar P倒下的第四个解决方案)

我正在回答这种方式,因为javascript和我的工作方式从这个链接完美。它的工作方式是弹出一个新窗口并将面板的html放入新的打开窗口。

答案 4 :(得分:0)

您可以使用jqPrint插件,该插件只允许打印页面中单个DIV的内容。