2

我正在尝试制作一个按钮,当单击该按钮时会调用一个过程,但也会在弹出窗口中打开。我找不到怎么做,因为我所做的所有搜索只告诉我把它放在 te clientclick 上:

<asp:Button ID="cmbGen" runat="server" Width="240px" Text="Générer le rapport"          OnClick="cmbGen_Click"></asp:Button> 

onclick 打开一个 pdf,它在 Ie 上不能正常工作,所以,为了解决这个问题,我希望 pdf 在弹出窗口中打开

不知道我能做什么..有人有想法吗?

编辑

代码相当大,但基本上,根据选中的复选框,它会创建一个 pdf 文件并显示它。这很好用,但它在当前页面中打开,我想在弹出窗口中打开

4

2 回答 2

4

AButton总是在当前窗口上向服务器提交回发,因此您不能直接将新窗口绑定到它。您需要编写一些 javascript 来执行此操作,然后打开一个弹出窗口。

您可以通过多种方式执行此操作 - 您可以将事件处理程序连接到按钮,以便在单击它时立即打开一个新窗口,并且该窗口指向您返回 PDF 的服务器代码。或者您可以定期回发,并返回一些弹出新窗口的 javascript。但无论哪种方式,javascript 都是从表单按钮获取弹出窗口的唯一方法。

Liam 建议创建链接而不是按钮可能是最简单的方法 - 如果需要,您可以在该链接上放置图像以使其看起来像按钮。

编辑 根据您对另一个答案的评论,您最简单的选择是在按钮单击方法上返回一些 javascript,使用ClientScript.RegisterStartupScript或微软最近推荐的任何东西。您可以首先执行您需要的任何逻辑,然后通过会话或查询字符串参数将其放入新的处理程序中,并让客户端弹出一个指向该处理程序的新窗口。

于 2013-03-26T14:29:50.877 回答
3

看不到你 c# 所以不是 100% 确定你想要什么,但为什么要使用 a asp:Button

<a href="myPDF.pdf" target="_blank">Générer le rapport</a>
于 2013-03-26T14:22:42.160 回答