打印单独的报表网页而不在ASP.NET中显示

时间:2011-10-06 18:15:55

标签: c# asp.net printing web

这与我以前的打印问题有点相关:远程打印,我在工作中通过帮助解决了这个问题。这种新情况也可能有一个简单的答案,但我还没有发现它。

为简化起见,我在ASP.NET中使用C#codebehind编写了两个网页,我们可以将其命名为page1.aspx和page2.aspx。

第一页page1.aspx是一个简单的搜索工具,可以打开数据库并将符合搜索条件的报告列表返回到gridview中。第二页page2.aspx在Web浏览器中显示一个报告,给出报告ID作为查询变量(我已经工作)。此页面也预先格式化为打印机友好。

在page1.aspx上,在我的gridview中,每行标有“View”和“Print”两个按钮。 “查看”按钮将检索相应行的相应订单号,page2.aspx将根据订单号加载报告(再次作为查询变量传递)。

但是,对于“打印”按钮,我想打印。也就是说,当用户点击按钮而不是页面加载到屏幕上时,我希望弹出“打印”对话框并允许用户将报告直接打印到打印机(因为他们能够查看报告)如果他们愿意,可以使用单独的按钮。)

1 个答案:

答案 0 :(得分:1)

我会将page2加载到iframe中,可能是单独加载的,并在加载时让页面调用JavaScript打印,或者在iframe上调用焦点然后在同一个对象上打印。

您可以使用新的调用加载页面,或者只在第1页在后台加载时加载它。

当然,您可以隐藏视图中的iframe。