Body就是textarea控件名,
Body中有(
英语字母:
  a
  b
  c 
  <img src=../upfiles/200483093658203.jpg>)
   )注a,b,c前均有空格
string content=Body.Value.Trim();//获得新闻内容
content=Server.HtmlDecode(content);
当将的内容显示到网业上时就变成了:英语字母:abc图片
这样空格,与回车都没了,但图片能显示出来

解决方案 »

  1.   

    后来用了
    content= content.Replace("\n", "<br>");
    content = content.Replace(" ", "&nbsp;&nbsp;");
    这样body中的格式与在网业上显示的格式就一样了,但图片就不能显示出来
      

  2.   

    在表单页中含有textarea控件,如果输入内容有回车换行的动作,字符串存储到数据库中后,再提取出来显示的话就会发现回车换行动作的地方让一个空格给代替了,另外几个空格的位置也只变成一个空格,没有保持原想的格式。
      

  3.   

    11
      22 <img src=../upfiles/200483093658203.jpg>)
    提交按钮的部分代码:
    string content=Body.Value;//获得新闻内容
    content=Server.HtmlDecode(content);
    content= content.Replace("\n", "<br>");
    content = content.Replace(" ", "&nbsp;&nbsp;");
    content=content.Trim();
    ----------------------------------------------
    因为这句content = content.Replace(" ", "&nbsp;&nbsp;");将
    <img src=../upfiles/200483093658203.jpg>) img和src之间的空格也替换掉了。
    所以图片不能显示。
    如果你不嫌麻烦的化,再
    content = content.Replace("img&nbsp;&nbsp;", "img ");一次喽。
      

  4.   

    找你那样怎么排序是没有用的
    11前边的空格可定是显示不出来,但是22前边的显示应该是没有问题的
    下边给你两个比较规范的替换函数
    /// <summary>
    /// HTML encode(编码转换)
    /// </summary>
    /// <param name="str">string</param>
    /// <returns></returns>
    public static string Encode(string str)
    {
    str = str.Replace("&","&amp;");
    str = str.Replace("'","''");
    str = str.Replace("\"","&quot;");
    str = str.Replace(" ","&nbsp;");
    str = str.Replace("<","&lt;");
    str = str.Replace(">","&gt;");
    str = str.Replace("\n","<br>");
    return str;
    } /// <summary>
    /// decode编码代换
    /// </summary>
    /// <param name="str">string</param>
    /// <returns></returns>
    public static string Decode(string str)
    {
    str = str.Replace("<br>","\n");
    str = str.Replace("&gt;",">");
    str = str.Replace("&lt;","<");
    str = str.Replace("&nbsp;"," ");
    str = str.Replace("&quot;","\"");
    return str;
    }