用TextBox做了个评论发布页,发布出去的评论不会自动分行,而是所有内容都显示成一行了.在textbox里跳行了应该自动加一个<br>的,如何解决这个问题啊?

解决方案 »

  1.   

    呵呵,可以把回车转换成<br>;或者换一个html的编辑器
      

  2.   

    这个主要跟你什么来呈现内容有关,如果你直接采用response.write()的话,那么就会产生你遇到的情况,因为你输出的内容没有包含换行符
    建议把内容绑定到一个Label上,并指定该Label宽度,即可“自动换行”
      

  3.   

    问题是我是用一个DataGrid来显示内容的,该如何做啊? 
            SqlConnection con = DB.createCon();
            string strID = Request.QueryString["WageChinaId"].ToString();
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = new SqlCommand("select * from ResumesChina where WageChinaId='" + strID + "'", con);
            DataSet ds = new DataSet();
            sda.Fill(ds, "zxxx");   
            this.ResumesChinaDataGrid.DataSource = ds.Tables["zxxx"]; 
            this.ResumesChinaDataGrid.DataBind();代码就是上面这样的.
      

  4.   

    TextBox里面不会自动转成<br>,只是一个回车符,如果你想把内容显示在HTML页中并保持换行状态的话,就要自己写转换函数自己转,这个是必须的。
      

  5.   

    to uchiha2007 () :
    你可以在datagrid中使用模板列,拖一个label在里面,绑定到相关字段就可以了
      

  6.   

    SEYON(小白)用label控制长度的方法不好吧,有的行只有两个字就换行了的话不是会很乱吗? 我觉得还是在录入的时候能让textbox自动识别HTML,然后把含HTML代码的内容写入数据库,这样读取出来的时候就显示正常了.问题是写入数据库该怎么写?才能把HTML写进去.
      

  7.   

    这样做:
    string strT = this.文本框ID.Text;  
    strT = strT.Replace("\r\n","<br>"); //转换
    录入字段 = strT;
      

  8.   

    最简单的方法,用css样式控制,在DataGrid里加:
    style="word-break:break-all; word-wrap:break-word;"