我发现输入的文本如果不转换成html代码只有多行文本框控件可以显示出原本的格式,其余的都只能显示出连续字符串,请问怎样把字符串在存入数据库前转换成html代码?

解决方案 »

  1.   

    其实不一定要转化为html格式,如果lz只需要实现简单的换行:
    只需要在读取的时候通过一个简单的函数实现正常显示。函数当然是实现/r/n到</ br>的替换:)
      

  2.   

    如果lz一定要转换为html,可是使用第三方控件
      

  3.   

    /// <summary>
    /// 替换html中的特殊字符
    /// </summary>
    /// <param name="theString">需要进行替换的文本。</param>
    /// <returns>替换完的文本。</returns>
    public string HtmlEncode(string theString)
    {
    theString=theString.Replace(">", "&gt;");
    theString=theString.Replace("<", "&lt;");
    theString=theString.Replace(" ", "&nbsp;");
    theString=theString.Replace(" ", "&nbsp;");
    theString=theString.Replace("\"", "&quot;");
    theString=theString.Replace("\'", "&#39;");
    theString=theString.Replace("\n", "<br/> ");
    return theString;
    }
      

  4.   

    public string MyReplace(string mystr)
    {
    if(mystr == null || mystr == "" )
    {
    return("&nbsp;");
    }
    else
    {
    mystr = mystr.Replace("\n\r","<br>");
    mystr = mystr.Replace("\r","<br>");
    mystr = mystr.Replace("\t","  ");
    return(mystr);
    }
    }
      

  5.   

    那最好使用第三方控件,推荐你使用FreeTextBox 1.6.3