是这样的。我在前台有一个下载的按钮。后台是这样的
 protected void Button1_Click(object sender, EventArgs e)
        {
            string fileName = Request.QueryString["FileName"].ToString();
            try
            {
                string fileserverpath = Server.MapPath("~/Up_down/" + fileName);
                FileInfo fi = new FileInfo(fileserverpath);
                fi.Attributes = FileAttributes.Normal;
                FileStream filestream = new FileStream(fileserverpath, System.IO.FileMode.Open);
                long filesize = filestream.Length;
                int i = Convert.ToInt32(filesize);
                Response.ContentType = "application/octet-stream";
                Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
                Response.AddHeader("Content-Length", filesize.ToString());
                byte[] fileBuffer = new byte[i];
                filestream.Read(fileBuffer, 0, i);
                filestream.Close();
                Response.BinaryWrite(fileBuffer);
            }
            catch
            {
                //下载失败;
            }            //finally
            //{
            //    Response.Redirect("File_study_List.aspx");
            //}现在问题是。点击这个按钮,可以弹出保存文件的对话框,但点对话框的保存或者取消后,这个页面就自动关闭了。但我是想不要关闭这个页面。请问这个要怎么实现?

解决方案 »

  1.   

    我劝你还是打开新窗口实现下载比较好download.aspx
      

  2.   

    string path = Server.MapPath("~/") + "1.rar";
    Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.GetEncoding("utf-8")));
    Response.ContentType = "application/octet-stream";
    Response.WriteFile("" + path + "");
    Response.End();
    下载,页面没问题