Response.Clear();
Response.Buffer= true;
Response.Charset="gb2312";//设置输出流的HTTP字符集
Response.ContentEncoding=System.Text.Encoding.GetEncoding ("gb2312") ;
           Response.AppendHeader("Content-Disposition","attachment;filename="123.txt"); 
Response.ContentType = "application/ms-txt";
this.EnableViewState = false;//是否保持视图状态
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter); 
this.DataGrid2  .RenderControl (oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
                 
Response.End ();
===========================================================================
出来的结果是连HTML格式的,怎么去掉外面的格式,只要里面的内容呢??

解决方案 »

  1.   

    比如出来的TXT文件内容是
    <table cellspacing="0" rules="all" border="1" id="DataGrid2" style="width:100%;border-collapse:collapse;">
    <tr>
    <td>关别代码</td>
    </tr><tr>
    <td>99</td>
    </tr>
    </table>
    我想要的结果只是     关别代码
                         99
      

  2.   

    Public Sub Download(ByVal oResponse As System.Web.HttpResponse, ByVal strFileName As String, ByVal strFileNamePrompt As String)
    Dim oFile As System.IO.FileInfo = New System.IO.FileInfo(strFileName)
    oResponse.AddHeader("Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode(strFileNamePrompt))
    oResponse.AddHeader("Content-Length", oFile.Length.ToString())
    oResponse.ContentType = "APPLICATION/OCTET-STREAM"
    oResponse.WriteFile(oFile.FullName)
    oResponse.End()
    End Sub
      

  3.   

    <%@ Page language="C#" %>
    <%@ Import Namespace="System.Net" %>
    <%@ Import Namespace="System.IO" %><html>
    <head>
     <SCRIPT runat="server">
      void btnSubmit_Click(Object sender, EventArgs e) {    WebRequest req = WebRequest.Create(txtURI.Text);    try {
            WebResponse result = req.GetResponse();
            Stream ReceiveStream = result.GetResponseStream();        Byte[] read = new Byte[512];
            int bytes = ReceiveStream.Read(read, 0, 512);        txtHTML.InnerHtml = "";
            while (bytes > 0)
            {          // 注意:
              // 下面假定响应使用 UTF-8 作为编码方式。
              // 如果内容以 ANSI 代码页形式(例如,932)发送,则使用类似下面的语句:
              //  Encoding encode = System.Text.Encoding.GetEncoding("shift-jis");
              Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
              txtHTML.InnerHtml = txtHTML.InnerHtml + encode.GetString(read, 0, bytes);
              bytes = ReceiveStream.Read(read, 0, 512);
            }
        } catch(Exception) {
            txtHTML.InnerHtml = "检索页时出错";
        }
      }
    </SCRIPT>
    </head><body>  <form method="post" action="Webrequest.aspx" runat="server">
        请输入 URI -
        <asp:TextBox runat=server ID="txtURI"></asp:TextBox>
        <asp:Button runat=server Text="提交" ID="btnSubmit" onClick="btnSubmit_Click"></asp:button>
        <br><br>
        <TextArea runat=server ID="txtHTML" Rows="30" Cols="80" EnableViewState="false"  Wrap="True"></TextArea>
      </form></body>
    </html>
      

  4.   

    直接从数据源输出吧SqlConnection conn=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["conn"]); 
       SqlDataAdapter da=new SqlDataAdapter("select * from tb1",conn); 
       DataSet ds=new DataSet(); 
       da.Fill(ds,"table1"); 
       DataTable dt=ds.Tables["table1"]; 
       StringWriter sw=new StringWriter(); 
      sw.WriteLine("自动编号\t姓名\t年龄"); 
       foreach(DataRow dr in dt.Rows) 
       { 
        sw.WriteLine(dr["ID"]+"\t"+dr["vName"]+"\t"+dr["iAge"]); 
       } 
       sw.Close(); 
       Response.AddHeader("Content-Disposition", "attachment; filename=test.txt"); 
       Response.ContentType = "application/ms-excel"; 
       Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312"); 
       Response.Write(sw); 
       Response.End();