当前位置: 首页 > 编程语言 > C#

重定向到“谢谢”页面并立即为下载的文件提供保存对话框Share

时间:2023-04-10 16:04:53 C#

重定向到“谢谢”页面并立即为下载的文件提供保存对话框我使用的是ASP.NET2。0。我创建了一个带有一些输入字段和一个下载按钮的下载表单。单击下载按钮时,我想将用户重定向到“感谢下载...”页面,并立即向他/她提供要保存的文件。我有以下代码来显示保存文件对话框:publicpartialclassThankYouPage:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){Response.AddHeader("Content-Disposition","attachment;filename="downloadedFile.zip"");Response.ContentType="application/x-zip-compressed";Response.BinaryWrite(this.downloadedFileByteArray);响应.Flush();响应.End();}}显然这段代码不允许显示任何“谢谢”消息。是否存在“AfterRender”事件或类似事件,我可以在其中移动此下载代码并让页面有机会向用户显示“谢谢”消息?毕竟,我真的很感激他们,所以我想表达这一点。您可以使用IFrame从感谢页面引用下载页面。在这种情况下,DownloadFile.aspx将从您的示例中获取代码。在感谢页面的头部使用METAREFRESH标签:或者,您可以使用bodyonLoad函数将下载URL替换为当前位置。在这种情况下,重定向将在当前页面加载完成后开始,并且只有在客户端启用JavaScript时才会开始,因此请记住将链接包含在下载链接中(“如果您的下载没有在几秒钟内开始从……开始”等)。您也可以按照Phil的建议使用IFRAME,甚至可以使用FRAME或完整的弹出窗口(请注意,可以被阻止)。您的旅行费用可能会发生变化。您编写的代码实际上应该从“谢谢”页面重定向到(使其成为第二个重定向)。由于您已将内容配置设置为附件,因此该页面实际上不会替换现有的“谢谢”页面。如果你想提供一个“谢谢”页面,客户端必须调用服务器的文件两次。因此,您可以创建一个显示消息的thankyou.aspx页面(以及该文件的直接下载链接)。您可以使用元标记或仅使用js开始下载(即使ms对其下载页面执行相同的操作)。然后,为了提供该文件,您可以创建一个直接链接以避免在服务器上运行另一个页面;否则你应该创建一个HttpHandler来隐藏文件系统。该文件应使用Response.TrasmitFile发送到客户端请检查以下链接,这可能会帮助您解决问题。在Asp.net中,单击按钮时,如何打开下载对话框,然后将用户重定向到另一个页面?以上是C#学习教程:重定向到“谢谢”页面,立即在下载文件的保存对话框中提供所有分享的内容。如果对大家有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: