搜狗高速浏览器 在asp.net 按钮事件 调用两次

protected void Button1_Click(object sender, EventArgs e) {
           
            SQLHelper access = new SQLHelper();
            var ds = access.GetDataSet("select top 100 * from table1");
            //PageHelper.aaa();
           ExportToExcel(ds, "查询结果");
        }

/// <summary>
        /// 将DataTable数据输出为Excel表格
        /// </summary>
        /// <param name="DT">DataTable数据</param>
        public static void ExportToExcel(System.Data.DataTable DT, string FileName) {
            if (null == DT) {
                return;
            }
            Common.Excel.ToExcel toExcel = new Common.Excel.ToExcel();
            toExcel.ExcelFileName = DownloadPath;
            string exportPath = string.Empty;
            DateTime dt = DateTime.Now;
            exportPath = toExcel.DataSetToExcel_NPOI(DT);
            System.IO.FileInfo fileInfo = new System.IO.FileInfo(exportPath);
            var dt2 = DateTime.Now - dt;
            FileName = FileName + dt2.TotalSeconds.ToString();
            if (string.IsNullOrEmpty(FileName)) {
                FileName = fileInfo.Name;
            }
            if (!FileName.ToLower().EndsWith(".xls")) {
                FileName += ".xls";
            }
            HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";// 指定返回的是一个不能被客户端读取的流,必须被下载

            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
            HttpContext.Current.Response.Charset = "";   

          
            HttpContext.Current.Response.WriteFile(exportPath); // 把文件流发送到客户端

            HttpContext.Current.Response.Flush();
            //删除文件   
            fileInfo.Delete();
            fileInfo = null;
            HttpContext.Current.Response.ClearContent();
            HttpContext.Current.Response.End();
        }

经过测试,IE、火狐、傲游浏览器、谷歌浏览器、世界之窗等浏览器试都不会出现调用两次按钮事

目前只发现“搜狗高速浏览器”总是一点下载就会调用两次。

如果出现下载对话框点“取消”,就不会。一旦点“下载”,就会被调用两次。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值