如何从asp.net Web表单中的代码后面检测文件下载完成

时间:2019-06-04 16:31:16

标签: javascript asp.net webforms

有一个执行下载功能的Web表单。当用户单击按钮时,它首先被禁用(使用JS OnClientClick方法),然后在触发按钮单击后下载(后面代码中的OnClick方法中的实现)相关文件。 。我要在下载完成后再次启用该按钮。

以前,使用Cookie可以很好地工作(在其中的代码后面添加了一个cookie,并可以从JS连续读取它)。但是我启用了安全cookie机制,现在不会禁用该按钮。

是否有其他使按钮启用的机制?

回发页面后一切正常

//aspx page
<asp:Button ID="btn" runat="server" Text="Download" UseSubmitBehavior="false"
                OnClientClick="Download(this)" OnClick="btn_Click" />
function Download(element) {
            element.disabled = true; //button become disable
}
//codebehind
protected void btn_Click(object sender, EventArgs e)
        {
                var data = getData();
                Response.AddHeader("Content-Length", userDataText.Length.ToString());
                Response.ContentType = "text/csv";
                Response.AppendHeader("content-disposition", string.Format("attachment;filename=\"{0}\"", "download_file"));

                Response.Write(data);
                Response.Flush();
                Response.End();
}

我希望在下载csv文件后禁用该按钮。解决方案不应该取决于cookie。但是实际上并没有这种功能。

0 个答案:

没有答案