C# 当我从包含网格的网站下载文件时,在网格的一列中有一个下载按钮

C# 当我从包含网格的网站下载文件时,在网格的一列中有一个下载按钮,c#,asp.net,sql-server-2005,iis-6,C#,Asp.net,Sql Server 2005,Iis 6,我有一个名为filedownload.aspx的页面,它包含网格,网格中有三列,其中一列有一个按钮,上面写着下载,当用户点击该按钮时,它会选择文件id,并将下载框提供给用户三个选项 打开“保存”并取消 现在的问题是,当用户单击网格中的下载按钮时,会出现以下错误: INTERNET EXPLORER无法从ABC.XYZ.COM下载FILEDOWNLOAD.ASPX(我的URL示例) INTERNET EXPLORER无法打开此网站。请求网站不可用或找不到 还有一件事是,最近我们实现了SSL,从HT

我有一个名为filedownload.aspx的页面,它包含网格,网格中有三列,其中一列有一个按钮,上面写着下载,当用户点击该按钮时,它会选择文件id,并将下载框提供给用户三个选项 打开“保存”并取消

现在的问题是,当用户单击网格中的下载按钮时,会出现以下错误: INTERNET EXPLORER无法从ABC.XYZ.COM下载FILEDOWNLOAD.ASPX(我的URL示例) INTERNET EXPLORER无法打开此网站。请求网站不可用或找不到

还有一件事是,最近我们实现了SSL,从HTTP迁移到HTTPS,URL中的名称也发生了变化,过去是,现在是

现在,当我将URL更改为旧URL时,页面工作正常

有人能帮我吗

我的代码:我的代码:

受保护的void gdvfiledownload_row命令(对象发送方,GridViewCommandEventArgs e) { 尝试 { 如果(e.CommandName==“下载”) { int indexfile=Convert.ToInt32(例如,CommandArgument.ToString()); GridViewRow row=gdvfiledownload.Rows[indexfile]; 字符串fileuserid=Ldapinfo.getName(Page.User.Identity.Name); string batchfilename=Convert.ToString(行.Cells[0].Text.ToString()); //string requestedby=Convert.ToString(row.Cells[3].Text.ToString())

SqlConnection cn=newsqlconnection(ConfigurationManager.ConnectionStrings[“connectionstring”].connectionstring.ToString());
cn.Open();
con=new-SqlConnection(ConfigurationManager.connectionstring[“connectionstring”].connectionstring.ToString());
con.Open();
数据集ds=新数据集();
//SqlDataAdapter da=新的SqlDataAdapter(“sp_Insert_CAV2_File”,cn);
SqlCommand SqlCommand=新的SqlCommand(“sp_proc”,cn);
sqlCommand.CommandType=CommandType.StoredProcess;
sqlCommand.Parameters.AddWithValue(“@batch\u name”,batchfilename);
sqlCommand.Parameters.AddWithValue(“@curr\u user”,fileuserid);
SqlDataAdapter da=新的SqlDataAdapter(sqlCommand);
da.填充(ds);
StringBuilder strFD=新的StringBuilder();

对于(int i=0;i,通过一些研究,我发现了几个可能的原因:

1) 如果使用IE 6.0 SP1,在Internet Explorer中选中“不将加密页保存到磁盘”复选框,则可能会出现此问题

2) 原因也可能是已知的IIS 6缓存问题。请尝试以下步骤,看看它们是否解决了该问题:

  • 打开IIS管理员
  • 查看网站的属性
  • 单击HTTP标题选项卡
  • 取消选中启用内容过期复选框
资料来源:

            SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring"].ConnectionString.ToString());
            cn.Open();
            con = new SqlConnection(ConfigurationManager.ConnectionStrings["connectionstring "].ConnectionString.ToString());
            con.Open();
            DataSet ds = new DataSet();
            //SqlDataAdapter da = new SqlDataAdapter("sp_Insert_CAV2_File", cn);
            SqlCommand sqlCommand = new SqlCommand("sp_proc ", cn);
            sqlCommand.CommandType = CommandType.StoredProcedure;
            sqlCommand.Parameters.AddWithValue("@batch_name", batchfilename);
            sqlCommand.Parameters.AddWithValue("@curr_user", fileuserid);
            SqlDataAdapter da = new SqlDataAdapter(sqlCommand);
            da.Fill(ds);
            StringBuilder  strFD = new StringBuilder();
            for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
            {
                for (int j = 0; j <= ds.Tables[0].Columns.Count - 1; j++)
                {
                    strFD.Append(ds.Tables[0].Rows[i][j].ToString());
                    strFD.Append(" ");
                }
                strFD.AppendLine();
            }

            Response.Clear();
            Response.AddHeader("content-disposition", "attachment;filename=Notepad.txt");
            Response.Charset = "";
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.ContentType = "application/vnd.text";
            System.IO.StringWriter stringWrite = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

            Response.Write(strFD.ToString());
            Response.End();
            cn.Close();
            con.Close();
            cn.Dispose();
            con.Dispose();
        }
    }
    catch (Exception ex)
    {
        lblfilemess.Text = ex.Message.ToString();
    }
}