我正在开发 ASP.NET 应用程序。目前,当用户单击某个项目上的“保存”时,我们会禁用“保存”按钮,将其文本更改为“正在保存...”等等。这工作正常,因为该按钮会导致回发,从而导致加载新页面,并且该页面上的“保存”按钮不再被禁用。
我们现在希望将其应用于其他操作:发布(与保存没有太大区别)、导入(同样,与保存非常相似,但基于用户在上一步中上传的数据)、导出(下载 XML 文件)给用户)等。
导出给我带来了问题 - 该按钮保持禁用状态。我认为这是因为服务器发回 XML 文件而不是新的网页,因此浏览器只显示相同的页面。
服务器端代码如下
Response.Clear();
Response.BufferOutput = true;
Response.ContentType = "text/xml";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + whatever);
[push file contents into Response.OutputStream]
Response.End();
[不知道这是否是好的代码 - 它不是我的 - 但它完成了工作:)]
基本上,我想知道:
- 一种使服务器在响应中发送回新页面以及 XML 的方法,从而以与其他页面相同的方式重新启用按钮,或者
- 一种让浏览器/JS 在文件发送后重新启用按钮的方法。
最佳答案
看起来像this应该这样做:本质上,用文件响应设置一个 cookie,并让浏览器等待该 cookie 以解锁页面。
关于c# - 用JS禁用提交按钮后,文件下载后重新启用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153273/