我正在使用 ASP .net 开发一个 c# 项目。
我有一个报告列表,每个报告都有一个超链接,它调用网络服务器,检索 一个 PDF,然后返回 PDF 供用户保存或打开:
ASPX 页面:
<table>
<tr>
<td>
<a href="#" onclick="SubmitFormToOpenReport();">Open Report 1</a>
<td>
</tr>
...
</table>
ASP.Net:
context.Response.Clear();
context.Response.AddHeader("content-disposition", "attachment;filename=report.pdf");
context.Response.Charset = "";
context.Response.ContentType = "application/pdf";
context.Response.BinaryWrite(myReport);
context.Response.Flush();
这按预期工作,但我希望它也用更新的列表刷新页面。
我遇到了麻烦,因为单个请求/响应正在返返回告。
还有刷新页面的方法吗?
虽然有正确的回答,但请随意包含详细说明执行此操作的替代解决方案/想法的答案。
最佳答案
不幸的是,您当前的方法是死胡同。 HTTP 的本质是单一请求,单一响应。一个响应只能有一个代码——“好的,这是一些数据,请下载”。 “改为转到此处”是一个不同的代码。您正在描述更复杂的东西 - 一系列指令。首先“这是一个文件”,然后“将自己重定向到另一个资源”。使这项工作的意义应该是一个线索——浏览器应该什么时候重定向?当用户选择一个位置来保存文件?文件下载完成后?
要执行您所描述的操作,您可以让 JavaScript 在新窗口中打开 PDF 并重新加载当前窗口。
关于c# - ASP.net 附件然后刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1712928/