chrome 弹出“下载另存为”对话框需要点击两下按钮?

tossgoon 2013-06-24 02:27:54
<asp:Button ID="btn_DownLoadZIP" runat="server" Text="打包下载" onclick="btn_DownLoadZIP_Click" />
以上是写了一个button控件,后台代码是压缩然后下载整个文件夹,但是莫名其妙的是,每次用chrome点击按钮的时候,先点了一下没反应,然后在屏幕其他任何地方再点一下,下载另存为...对话框出现了。
关键的地方还在于,有时点一下出现,有时点两下出现......
有遇到过这个问题的吗?
加上一句OnClientClick="javascript:this.blur();" 有用吗?

为避免0回复,沙发5分。
期待解决....
...全文
354 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
tossgoon 2013-06-25
  • 打赏
  • 举报
回复
没找到问题,应该是浏览器的原因。
superliu1122 2013-06-24
  • 打赏
  • 举报
回复
我的chrome浏览器有时候也会这样,点连接也是 不一定是你程序的问题
紫魂一号 2013-06-24
  • 打赏
  • 举报
回复
第一次焦点没在按钮上。。
tossgoon 2013-06-24
  • 打赏
  • 举报
回复
引用 3 楼 no200830740203 的回复:
js里面有没内容是触发了鼠标点击事件的?
没有。<asp:Button ID="btn_DownLoadZIP" runat="server" Text="打包下载" onclick="btn_DownLoadZIP_Click" />只是响应后台的onclick代码 onclick里调用的是
void dlZipDir(string strPath, string strFileName)
        {
            MemoryStream ms = null;
            Response.ContentType = "application/octet-stream";
            strFileName = HttpUtility.UrlEncode(strFileName).Replace('+', ' ');
            Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName + ".zip");
            ms = new MemoryStream();
            zos = new ZipOutputStream(ms);
            strBaseDir = strPath + "\\";
            addZipEntry(strBaseDir);
            zos.Finish();
            zos.Close();
            Response.Clear();
            Response.BinaryWrite(ms.ToArray());
            Response.End();
        }
        void addZipEntry(string PathStr)
        {
            DirectoryInfo di = new DirectoryInfo(PathStr);
            //foreach (DirectoryInfo item in di.GetDirectories())
            //{
            //    addZipEntry(item.FullName);
            //}
            foreach (FileInfo item in di.GetFiles())
            {
                FileStream fs = File.OpenRead(item.FullName);
                byte[] buffer = new byte[fs.Length];
                fs.Read(buffer, 0, buffer.Length);
                string strEntryName = item.FullName.Replace(strBaseDir, "");
                ZipEntry entry = new ZipEntry(strEntryName);
                zos.PutNextEntry(entry);
                zos.Write(buffer, 0, buffer.Length);
                fs.Close();
            }
        }

        protected void btn_DownLoadZIP_Click(object sender, EventArgs e)
        {
            string gcid = Request.QueryString["gcid"];
            string uploadPath = HttpContext.Current.Server.MapPath(".") + @"\data\kc\" + gcid + "\\";
            dlZipDir(uploadPath, TextBoxName.Text);
        }
饕餮123 2013-06-24
  • 打赏
  • 举报
回复
楼主鼠标坏了,鉴定完毕
  • 打赏
  • 举报
回复
js里面有没内容是触发了鼠标点击事件的?
  • 打赏
  • 举报
回复
是不是后台执行代码响应慢的问题,从而导致点击了一次暂无反应?可以设chrome 为默认浏览器,断点看看
coobai 2013-06-24
  • 打赏
  • 举报
回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧