我需要显示一个带有“你的下载即将开始......”的消息的asp.net页面然后,我需要发送一个带有Response.WriteFile(myfile)的文件。 问题是我将我的代码插入到Page_LoadComplete中,因为我假设asp.net将显示并呈现基本的html,然后在代码中有Response.WriteFile(strFullPath)。 问题是没有渲染html,文件传输正确! 我怎样才能显示一个简单的html,如“你的下载正在进行中”......?
由于
答案 0 :(得分:3)
我建议将Response.WriteFile(struFullPath)移动到另一个页面,除了写出文件之外什么都不做。然后在您的页面上写着“您的下载将很快开始......”,使用one of these methods写出指向Response.WriteFile页面的链接。
如果您不想关注方法的链接,可以是:
将文件链接放入iframe,然后下载
<iframe src="LINKTOTHEFILEPAGE"></iframe>
您可以使用一些JavaScript和备份元刷新标记。像往常一样加载你的html内容并将其注入<head>
。
<script>
setTimeout(function(){window.location='LINKTOTHEFILEPAGE';}, 5000);
</script>
<noscript>
<meta http-equiv="refresh" content="5; url=LINKTOTHEFILEPAGE">
</noscript>
这两个延迟下载5秒。您可以根据需要进行调整。