它可能不是问这个问题的正确标题,因为当我搜索它时会给出下载动态网址的结果。那不是我想要的......(至少我认为不是这样)
我的问题是我需要动态创建一个列表,比如简报,例如,使用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代码只使用普通表,而视图按钮是源的href链接。
答案 0 :(得分:4)
我不是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();
我做了一些调整,注意到我已将下载放在链接标记内。这是一个HTML 5功能,它将强制下载而不是在浏览器中打开,这里有更多信息 Force a browser to save file as after clicking link
答案 1 :(得分:2)
如果您使用的是HTML5,则可以在href链接的末尾添加“下载”一词。
<a href="link to newsletter.pdf" download>Download link</a>
这会强制下载而不是像平常那样打开pdf。
祝你好运!