下面的代码可以实现弹出窗口让用户下载指定的文件,以原文件名来命名。
Page.Response.Buffer=true;
Page.Response.Clear();
Page.Response.ContentType="Application/unknown";
Response.AddHeader("Content-Disposition","attachment; filename=" +
        ds.Tables[0].Rows[0]["filename"].ToString() + ";");

Page.Response.BinaryWrite(file);
Page.Response.Flush();
Page.Response.End();

解决方案 »

  1.   

    你需要的可能就是这两句Page.Response.ContentType="Application/unknown";
    Response.AddHeader("Content-Disposition","attachment; filename=" +
            ds.Tables[0].Rows[0]["filename"].ToString() + ";");
      

  2.   

    不行啊,它还是弹出默认的网页文件名(如default.aspx)
      

  3.   

    不会吧!你测试一下下面的代码。
    放到page_load中Page.Response.Buffer=true;
    Page.Response.Clear();
    Page.Response.ContentType="Application/unknown";
    Response.AddHeader("Content-Disposition","attachment; filename="test.txt" + ";");string s = "this is a test programe";
    byte[] tmp = System.Text.Encoding.Default.GetBytes(s); Page.Response.BinaryWrite(tmp);
    Page.Response.Flush();
    Page.Response.End();