if (ds.Tables[0].Rows.Count > 0)
                {
                    Response.Clear();
                    strContent = check.NoHtml(ds.Tables[0].Rows[0]["内容"].ToString());
                    byte[] bytes = Encoding.UTF8.GetBytes(strContent);
                    byte[] allbyte = new byte[bytes.Length + 3];
                    allbyte[0] = (byte)((bytes.Length + 1) >> 8);
                    allbyte[1] = (byte)(bytes.Length + 1);
                    allbyte[2] = 32;
                    Array.Copy(bytes, 0, allbyte, 3, bytes.Length);
                    Response.BinaryWrite(allbyte);
                    Response.Flush();
                    Response.End();
                }
读取的数据为什么在aspx页面上不会显示。

解决方案 »

  1.   

    Response.Write(allbyte.Tostring());
    试试行不?
      

  2.   

     输入出的结果是这样的 System.Byte[] 不行 不是我要的结果!!!!
      

  3.   


    //我用这个方法写出来没问题,你看是不是你中间的逻辑有问题
    protected void Page_Load(object sender, EventArgs e)
            {
                this.Response.Clear();            string str = "sdfsdfsdfsdfsdfsdf";            byte[] b = System.Text.Encoding.Default.GetBytes(str);            this.Response.BinaryWrite(b);            this.Response.Flush();            this.Response.End();
            }
      

  4.   

    select ecrp_id,内容 from new_pvc_zzdt union all  select ecrp_id,内容 from new_shaojian_zzdt where ecrp_id=173 这样写正确吗
      

  5.   

    if (ds.Tables[0].Rows.Count > 0)
      {
      Response.Clear();
      strContent = check.NoHtml(ds.Tables[0].Rows[0]["内容"].ToString());
      byte[] bytes = Encoding.UTF8.GetBytes(strContent);
      byte[] allbyte = new byte[bytes.Length + 3];
      allbyte[0] = (byte)((bytes.Length + 1) >> 8);
      allbyte[1] = (byte)(bytes.Length + 1);
      allbyte[2] = 32;
      Array.Copy(bytes, 0, allbyte, 3, bytes.Length);
      Response.BinaryWrite(allbyte);
      Response.Flush();
      Response.End();
      }
    读取的数据为什么在aspx页面上不会显示。
      

  6.   

    Response.BinaryWrite 这个主要是文件流的吧? 那在这之前肯定要用Response先定义显示或下载的文件格式呀?
    如果只是为了显示的话Response.Write就可以了.
      

  7.   

     Array.Copy(bytes, 0, allbyte, 3, bytes.Length);
    你在这里加一条语句看看allbyte里面还有没有数据
      Response.BinaryWrite(allbyte);
      

  8.   


    如果读取的数据的话,那你就先把allbyte转化成一段字符串(数据),然后通过Response.Write打印到页面上呀
      

  9.   

    strContent = check.NoHtml(ds.Tables[0].Rows[0]["内容"].ToString());
    这个是STRING么?
    如果是STRING 直接 response.write(strContent);
    有必要还要转换么?
      

  10.   

    Response.BinaryWrite(allbyte);
    你这种写法本身不是为了显示在页面上的吧?取决于你二进制流的内容吧!
    allbyte[0] = (byte)((bytes.Length + 1) >> 8);
      allbyte[1] = (byte)(bytes.Length + 1);
      allbyte[2] = 32;
    看不明白。
    第一个数组元素为什么要做位移!
      

  11.   

    你把这些代码写哪里了?
    要写在
    protected void Page_Load(object sender, EventArgs e)
    {}
    里面啊!