我的情况:
用户单击LinkButton,页面执行PostBack。但我还需要同时向用户提示文件下载。
为了做到这一点,我在LinkButton
上做了这个lnkPrint.Attributes.Add("onclick", "window.open('Download.ashx?type=x')");
Download.ashx Http Handler生成文件(Content-Type: application / pdf ),如果点击我的LinkButton,它会发布PostBack并下载显示弹出窗口后的文件...但我无法自动关闭此弹出窗口。
我尝试了一些方法
因此,这些方法似乎都不能正常工作。
所以,我的问题是:有没有办法让弹出窗口立即消失,或者是否有办法让页面同时下载文件 AND 回发?
PS:我想到你的下载将很快开始方法,但我担心我会遇到与之前一样的RegisterStartupScript问题......答案 0 :(得分:3)
如果你想立即关闭窗户,你真的需要窗户吗?你不能这样做:
<a href="Download.ashx?type=x">Download</a>
然后没有弹出窗口,如果内容处置设置为附件,则不会将用户重定向到空白页。
答案 1 :(得分:0)
为什么不做正常的回发,然后做出你的回复,文件下载?只需执行Response.BinaryWrite()...并使用Response.ContentType 此外,您可以将content-disposition标头设置为您选择的文件名。