LinkBut​​ton没有在第二次点击时进行回发

时间:2010-12-28 20:15:30

标签: c# asp.net postback linkbutton

我希望客户能够下载PDF文件。所以我用代码放了一个LinkBut​​ton:

标记:

<asp:LinkButton ID="lnkPrintHere" runat="server" OnClick="lnkPrintHere_Click" Text="Click here" />

代码背后:

protected void lnkPrintHere_Click(object sender, EventArgs e)
{
    Response.ContentType = "application/pdf";
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
    Response.TransmitFile("/_layouts/Files/" + fileName);
    Response.End();
}

点击链接第一次时,一切正常。后续点击不会引发OnClick事件。有谁知道为什么会发生这种情况?

PS:如果您需要更多信息,请随时询问。

2 个答案:

答案 0 :(得分:0)

如果您使用Response.End()

,就会发生这种情况

这里提到: Post Back does not work after writing files to response in ASP.NET

一种解决方法是使用查询字符串方法。单击链接按钮重定向到查询字符串相同的页面时。在页面加载中,如果检测到查询字符串,则发出PDF并返回。

答案 1 :(得分:0)

您总是可以在响应方法本身中尝试替代方法,我将您的代码与Response.Close一起使用,并且其工作正常。但我知道,这不是正确的选择,但使用查询字符串进行下载也不是一个正确的选择。