比如啊,我在textbox中这样填入内容:
sdjf;
dsfjk
dsfijlk;
我插入到数据库后,在读出来,他就变成了这样:sdjf;dsfjkdsfijlk;天啊,怎么格式变拉,他怎么就不换行啊?
请指教,再线等,立即给分!!

解决方案 »

  1.   

    ASCII回车符号("\r\n"即0x0D0AH)在html中不起任何作用。所以你需要将这些符号置换成HTML换行标签("<BR/>")
      

  2.   

    str.Replace("\r\n","<br>"),写错没有啊?
    我按照你的写怎么运行提示错误啊?
      

  3.   

    读出来后依然放到一个只读的TEXTBOX中是不变的
      

  4.   

    string str = txtContent.Text;
    string strReplace = str.Replace("\r\n","<br>");
    comm.Parameters.Add("@content",OleDbType.VarWChar).Value = strReplace;
    这样写对吗?
    点提交的时候提示错误,文件已经存在,我想如果不这样写而在另外个读取页面这样写<TD width="85%" height="67"><%# DataBinder.Eval(Container.DataItem,"content")%></TD>
    那么在这里怎么使用Replace函数呢?
    谢谢
      

  5.   

    在ADD时用  sqlfild = Server.HtmlEncode(txtbox.text) ;在read时用
       
      Txtbox.Text = Server.HtmlDecode( sqlfild ) ;
      

  6.   

    这是因为你在读取出来的时候,没有对其中的换行符等做处理.下面给你一个转换的函数/// <summary>
    /// 将无格式的文本处理成有格式的文本
    /// </summary>
    /// <param name="mystr">要处理的文本</param>
    /// <returns>返回带换行等格式的文本</returns>
    public string MyReplace(string mystr)
    {
    if(this.MyisNull(mystr))
    {
    return("&nbsp;");
    }
    else
    {
    mystr = mystr.Replace("\n\r","<br>");
    mystr = mystr.Replace("\r","<br>");
    mystr = mystr.Replace("\t","  ");
    return(mystr);
    }
    }
      

  7.   

    我赞同etyyy(主动脉) 的做法,我就是这样做的,应该没问题
      

  8.   

    我已经搞好,不过不是这样的,我的代码如下:
    <TD width="85%" height="67"><%# DataBinder.Eval(Container.DataItem,"content").ToString().Replace("\n","").Replace("<","&lt;").Replace(">","&gt").Replace("\n","<br>").Replace(" ","&nbsp;")%></TD>
    再把数据提交页面的<%@ Page ValidateRequest=false %>
    一切ok
    谢谢大家
    给分
      

  9.   

    你可以直接这样,用我上面的函数
    <%# MyReplace(Convert.ToString(DataBinder.Eval(Container.DataItem,"content"))) %>