在数据库的TEXT 类型 是不存放 换行的,这样读出来的是整个一段 没有回车的。这样很不美观,不知道有没有什么方法? 我是用label在页面上显示 从数据库中读出的TEXT 类型的文字!

解决方案 »

  1.   

    中间加个\n试试看.
    例如:
    MessageBox.Show("你好,\n过的怎么样?");
    显示出来就是两行.
      

  2.   

    数据存储要保证通用性!显示时再Render...数据存储都把格式也写死了,就没灵活性可言了
      

  3.   

    应该靠控件自动换行,如果是webform,都会自动换行,如果是winform,例如多行的textbox就可以自动换行。
      

  4.   

    label足够大应该可以显示出文本信息了吧.这个也是自动换的.textbox需要修改属性为允许多行
      

  5.   

    在数据库的TEXT 类型 是不存放 换行的????可以存放换行,楼主怎么说不行。
      

  6.   

    我是用label在页面上显示
    ————————————————————————————————————
    A: 你不会认为页面上是用 /n 来换行吧?
      

  7.   

    首先你要将每一行(使用slit("\n")分解)都用 HTMLEncode编码,然后要用 <br> 换行,拼接之后才能输出到Label的Text去。
      

  8.   

    使用slit("\n")分解   -->  使用split('\n')分解
      

  9.   

    你把下面这段代码放到一个WinForm程序里执行一下,你会更了解Web是个什么东西:StringBuilder s = new StringBuilder();
    StringWriter w = new StringWriter(s);
    Html32TextWriter h = new Html32TextWriter(w);
    System.Web.UI.WebControls.Label b = new System.Web.UI.WebControls.Label();
    string[] data="用 HTMLEncode编码,然后要用 <br> 换行,拼接\n之后才能输出".Split('\n');
    Array.ForEach(data, delegate(string ln)
    {
        if (b.Text.Length != 0)
            b.Text += "<br>";
        b.Text += System.Web.HttpUtility.HtmlEncode(ln);
    });
    b.RenderControl(h);
    MessageBox.Show(s.ToString());
      

  10.   

    当然不要忘记引用 System.Web。并且using System.IO;
    using System.Web.UI;
      

  11.   

    楼上的兄弟 winform下能USING Systme.Web.UI?好象不行吧..而且在web下面又没有MessageBox这个类的,只有一个mbox没用过.