Print 当用户点击它时,它会显示一个将列表打印为 pdf 的链接;您可以注意到该脚本从后面的代码中调用了一个函数。-6ren">
gpt4 book ai didi

c# - 页面加载时打印 pdf

转载 作者:行者123 更新时间:2023-12-02 20:48:43 27 4
gpt4 key购买 nike

我的 aspx 页面中有此代码;

<a href="javascript:void(0);" onclick=<% Print(); %> title="Print listings">Print</a>

当用户点击它时,它会显示一个将列表打印为 pdf 的链接;您可以注意到该脚本从后面的代码中调用了一个函数。

问题是,当我编码时,当我进入此页面时,它会在加载时打印为 pdf,我以为它会等待单击,但实际上它执行了打印。

有什么问题吗?提前致谢。

PD。我正在使用 VS2005,并使用 iTextSharp 创建 pdf。

最佳答案

您想要使用 HyperlinkControl 并将 OnClick 事件处理程序连接到 Print 方法后面的代码。当用户单击链接时,页面将回发并引发 OnClick 事件。从那里您可以打印 PDF。

在您的示例中,页面加载时将评估 Print() 函数。任何带有 <% %> 和 <%= %> 括号的内容都会在渲染时进行评估。

实现您想要的操作的最佳方法是在您的页面上添加一个链接,该链接会重定向到 ASHX 页面,然后该页面将 PDF 直接输出到响应流中。应该有很多关于如何在该地方完成此操作的示例(Google ashx)。该链接如下所示:

<a href="PrintMyPdf.ashx?PageID=<%= CurrentPageId %>">Print</a>

这会将参数“PageID”传递给 ashx,您可以从中确定要打印的页面。 <%= %> 语法计算表达式(在本例中是后面代码中的属性,但它可以是方法或论坛)并将结果插入页面的该部分。

因此,如果您的属性(property)是:

protected int CurrentPageId { get { return 4; } }

它会将以下内容写入您的页面:

<a href="PrintMyPdf.ashx?PageID=4">Print</a>

关于c# - 页面加载时打印 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/288814/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com