使用C#将下载添加到锚标记

时间:2013-10-29 06:21:30

标签: c# asp.net hyperlink

所以基本上html看起来像这样

<a href='test.pdf' Download>download test</a>

但我需要用C#制作我到目前为止所做的是

HtmlAnchor link = new HtmlAnchor();
link.Href = "test.pdf";
link.innerText = "download test";

如何将“下载”部分放入其中,以便在您点击该链接时实际上下载该文件而不是链接到该文件

先谢谢。

2 个答案:

答案 0 :(得分:1)

您需要使用InnerHtml而不是InnerText以及<b>来加粗

link.InnerHtml = @"<b>download test</b>";

根据OP编辑进行编辑,

您需要在linkBut​​ton点击事件中使用Response.WriteFile,您可能会在此post中查找要求的内容。

FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.ContentType = "Application/msword";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileInfo.Name);
Response.WriteFile(fileInfo.FullName);
Response.End();

答案 1 :(得分:1)

试试这个:放在你的html页面中,用C#编写:litdoc.Text + =“”+“download test”+“”;在处理程序中:提及下载pdf文件的代码,就像:

    string file = "";
    file = context.Request.QueryString["file"]; 
    if (file != "")
    {
        context.Response.Clear(); 
        context.Response.ContentType = "application/octet-stream";
        context.Response.AddHeader("content-disposition", "attachment;filename="    +           Path.GetFileName(file));
        context.Response.WriteFile(file);
        context.Response.End();

    }

其中path是您下载pdf文件的位置。