试试HttpContext.Current.Response.Charset ="";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8 ; HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=result.xls");
//      
// HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.GetEncoding("GB2312"); 
HttpContext.Current.Response.ContentType ="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
//关闭控件的视图状态
this.dg_save.Page.EnableViewState =false;   
//初始化writer
System.IO.StringWriter  tw = new System.IO.StringWriter() ;
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
this.dg_save.RenderControl(hw);
//输出
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();

解决方案 »

  1.   

    <script language=javascript>
    window.openner=null
    </script>
    <%
    Dim Stream
    Dim Contents
    Dim FileName
    Dim FileExt
    Const adTypeBinary = 1
    FileName = Request.QueryString("FileName")
    content= Request.QueryString("content")
    Set fso=CreateObject("Scripting.FileSystemObject")
    Set fsw=fso.CreateTextFile("d:\天天气象\qxfu\product\temp\"&filename&".txt")
    fsw.writeline(content)
    set fsw=nothing
    set fso=nothing
    if FileName = "" Then
        Response.Write "无效文件名."
        Response.End
    End if
    ' 下面是不希望下载的文件
    'FileExt = Mid(FileName, InStrRev(FileName, ".") + 1)
    'Select Case UCase(FileExt)
       ' Case "ASP", "ASA", "ASPX", "ASAX", "MDB"
           ' Response.Write "受保护文件,不能下载."
            'Response.End
    'End Select
    ' 下载这个文件
    Response.Clear
    Response.ContentType = "application/octet-stream"
    Response.AddHeader "content-disposition", "attachment; filename=" & FileName&".txt"
    Set Stream = server.CreateObject("ADODB.Stream")
    Stream.Type = adTypeBinary
    Stream.Open
    Stream.LoadFromFile Server.MapPath(FileName&".txt")
    While Not Stream.EOS
        Response.BinaryWrite Stream.Read(1024 * 64)
    Wend
    Stream.Close
    Set Stream = Nothing
    Response.Flush
    %>
      

  2.   

    不好意思,上面代码是从页面控件输出如果你有字符串要保存到本地的话,代码如下(测试通过):string str = "测试文本文件保存到客户端" ;       
    HttpContext.Current.Response.Charset ="";
    HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8 ;HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=result.txt");
    HttpContext.Current.Response.ContentType ="Text/HTML";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword//输出
    HttpContext.Current.Response.Write(str);
    HttpContext.Current.Response.End();
      

  3.   

    我现在已经把内容(因为内容太多,必须写成文本文件)写成了一个文本文件(a.txt),放在网站的TXT文件夹下面,我想达到目的是:当用户点下载的时候,弹出一个窗口,选择是打开还是保存,当先保存的时候,让用户选项择下载地址,把a.txt保存下来
      

  4.   

    Response.WriteFile();
    把txt里的内容打开了,并没有弹出提示窗口
      

  5.   

    假设你用一个 LinkButton 来 链接该文件private void LinkButton_Click(object sender, System.EventArgs e)
    {
    System.IO.FileInfo file = new System.IO.FileInfo(Server.MapPath("../uploads/BaseDocument/") +a.txt);
    Response.ContentType="application/octet-stream";
    Response.AppendHeader("Connection","keep-alive");
    Response.AppendHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(file.Name, System.Text.Encoding.UTF8));
    Response.WriteFile(file.FullName);
    Response.Flush();
    Response.End();
    }
      

  6.   

    weiwei8000(weiwei) ( )我按照你那种方试过了,不行,他是直接在浏览器里把txt文本文件的内容显示出来...我需要把txt保存到本地C盘
      

  7.   

    我的不是可以吗,传入内容在服务器上先写一个文本文件,然后在写到客户端,就象现在文件一样,提示打开还是保存,选择保存,再选择路径就可以了。代码是ASP的,稍微该一下就可以在。NET里用了
      

  8.   

    可以了用的weiwei8000(weiwei) ( )代码
    原因是我的机上装了dudu 下载加速器,,,气死了.呵呵
    结帐了