使用<a> tag</a>强制下载pdf

时间:2013-09-10 14:37:37

标签: c# asp.net

我正在尝试使用标记强制下载pdf。

这就是我所拥有的:

 <a ID="personal_training_form" class="pdfcalltoaction" OnServerClick="personal_training_form_Click" runat="server">PERSONAL TRAINING FORM</a>

和我的代码隐藏:

public void personal_training_form_Click(object sender, EventArgs e)
{
    Response.Clear();
    Response.ContentType = "application/pdf";
    Response.AppendHeader("Content-Disposition", "attachment; filename=PersonalTrainingForm.pdf");
    Response.TransmitFile("~/programs/PERSONAL_TRAINING_FORM_to_mail.pdf");
    Response.End();
} 

该页面似乎只是刷新,没有下载文件。

编辑:

所以我尝试将其切换到LinkBut​​ton,但它仍然没有使用类似的效果。

<asp:LinkButton ID="personal_training_form" CssClass="pdfcalltoaction" runat="server" OnClick="personal_training_form_Click">Personal Training Form</asp:LinkButton>

1 个答案:

答案 0 :(得分:0)

试试这个。

public void download_Click(Object sender, EventArgs e)
{
    Response.AddHeader("Content-Type", "application/octet-stream");
    Response.AddHeader("Content-Transfer-Encoding","Binary");
    Response.AddHeader("Content-disposition", "attachment; filename=\"sample.pdf\"");
    Response.WriteFile(HttpRuntime.AppDomainAppPath + @"path\to\file\sample.pdf");
    Response.End();
}

<asp:LinkButton ID="download" runat="server" OnClick="download_Click">Download</asp:LinkButton>