C# HttpHandler在发送文件之前写入重定向页面
我在.net上似乎永远找不到任何文档,而官方文档(如果它们正确的话)是一个无望的迷宫 我使用jQuery将一个用户重定向到一个新页面上的HttpHandler,在那里我动态地构建并发送一个html表(并称之为excel文件)。多亏了stackers,我可以毫不延迟地构建和发送文件(即使是大文件) 我想在新页面上告诉用户我正在构建文件,等等,因为文件正在构建和发送 在发送excel标题之前执行context.response.write时,我会得到: Server Error in '/' Application. Server cannot append header after HTTP headers have been sent. “/”应用程序中出现服务器错误。 发送HTTP标头后,服务器无法追加标头。 有什么方法可以实现我想要的吗C# HttpHandler在发送文件之前写入重定向页面,c#,jquery,file,httphandler,response.write,C#,Jquery,File,Httphandler,Response.write,我在.net上似乎永远找不到任何文档,而官方文档(如果它们正确的话)是一个无望的迷宫 我使用jQuery将一个用户重定向到一个新页面上的HttpHandler,在那里我动态地构建并发送一个html表(并称之为excel文件)。多亏了stackers,我可以毫不延迟地构建和发送文件(即使是大文件) 我想在新页面上告诉用户我正在构建文件,等等,因为文件正在构建和发送 在发送excel标题之前执行context.response.write时,我会得到: Server Error in '/' App
非常感谢 你到底想达到什么目的?据我所知,您正在构建某种excel表格并将其发送给客户。我假设,为了让客户端将您的内容识别为excel工作表,您尝试发送一些响应头(例如mime类型) 尽管您必须始终在正文之前发送任何类型的标题,但您将无法在显示给用户的响应流中写入通知,因为用户还会将您的通知保存到excel文件中
因此,我认为您需要一个新的登录页,上面有一个通知,以及某种javascript或元重定向(或超链接或按钮)到强制创建和下载excel的url。您需要的是一个重定向到下载页的临时登录页
<body>
<div> Your file is getting created... Please wait patiently.
</div>
<script>
window.location.href = 'http://yoursite.com/documentpage/blah/foo/bar';
</script>
</body>
在临时页面上,你可以有你的消息和一个小脚本来发送给用户下载
<body>
<div> Your file is getting created... Please wait patiently.
</div>
<script>
window.location.href = 'http://yoursite.com/documentpage/blah/foo/bar';
</script>
</body>
正在创建您的文件。。。请耐心等待。
window.location.href=http://yoursite.com/documentpage/blah/foo/bar';
您是否尝试调用Response.ClearHeaders()
?现在它显示“发送HTTP头后服务器无法清除头”。非常感谢您的尝试!