如何做动态下载链接
本文关键字:链接 下载 动态 何做 | 更新日期: 2023-09-27 18:21:54
这可能不是问这个问题的正确标题,因为当我搜索时,它给出了下载的动态URL的结果。那不是我想要的。。。(至少我认为不是)
我的问题是,我需要动态创建一个列表,比如时事通讯,该列表是使用C#代码和Response.Write()中的循环创建的。来源来自一个数据库,该数据库只包含时事通讯的位置来源、日期和名称。代码的基本输出是:
|News Letters
|Date: |Name: |View button: |Download link: |
|7/01/2013 |June News | [View] | [Download] |
|8/01/2013 |July News | [View] | [Download] |
或多或少。。。该表是在循环中生成的,因此它可以是任何长度。
我该如何为每封单独的新闻信实现下载?HTML代码只是使用一个普通的表,视图按钮是指向souce的href链接。
我不是100%了解如何返回信息,但这需要一个SqlDataReader,并将数据读取器响应中的每一行添加到表中的新行中,并构建一个HTML字符串。
StringBuilder sb = new StringBuilder();
sb.Append("<table><th>Date</th><th>Name</th><th>View</th><th>Download</th>");
while (sqlDataReader.Read())
{
sb.Append(string.Format("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td><a href='{3}' download>Download</a></td></tr>", sqlDataReader["Date"], sqlDataReader["Name"],
sqlDataReader["LocationSource"], sqlDataReader["LocationSource"]));
}
sb.Append("</table>");
return sb.ToString();
我做了一个小小的调整,注意到我把下载放在了链接标签里。这是一个HTML5功能,它将强制下载而不是在浏览器中打开,更多信息请点击此处强制浏览器在单击链接后将文件另存为
如果您使用的是HTML5,您可以在href链接的末尾添加单词"download"。
<a href="link to newsletter.pdf" download>Download link</a>
这将强制下载,而不是像往常一样打开pdf。
祝你好运!