我做了个新闻发布的应用,数据库用的是Access2003 ,用datalist显示数据。
现在有个问题不能解决,请教各位前辈:我把有段落格式的文章存入数据后,在用datalist显示的时候,所有的段落格式都不在了,全并成了一块,存放文章的字段属性为“备注”。
请问各位前辈,现在要怎么解决呢?是在数据库下手呢?还是在程序显示数据时?谢谢各位指点!

解决方案 »

  1.   

    才存往数据库之前就应该用HttpUtility.HtmlEncode(content)处理一下
      

  2.   

    如果是用ftb之类的在线编辑器则不会出现这种问题
    但是是一般的textbox就要 用<br>代替"\n\r"之类
      

  3.   

    添加记录的时候用 Server.HtmlEncode("")处理一下再添加到数据库,读出来的时候就可以显示格式了,如果要修改记录,记得用 Server.HtmlDecode("")处理一下或者参考:
    http://community.csdn.net/Expert/topic/4086/4086630.xml?temp=.881817
      

  4.   

    这个是很常见的问题.文章的段落,一般在保存之后,是看不见的,在C#里面是\r\n,在VB里面是chr(13)&chr(10),所以只要做简单的替换就可以了.
    下面给你一个较全的替换函数,在输出的时候,简单替换一下即可正常显示./// <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);
    }
    }