using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager
                .ConnectionStrings["MyPersonal"].ConnectionString))
            {
                SqlCommand comm = new SqlCommand();
                comm.Connection = conn;
                conn.Open();
                comm.CommandText = "select ArticleContent, dateTime,  ArticleID"
                    + " from dbo.Article where ArticleTitle = '" + strTitle + "'";
                SqlDataReader sqlread = comm.ExecuteReader();
                content.InnerHtml = "<table Width='500'><tr><td id='tdTitle'><font size=5>" + strTitle + "</font></td></tr>";
                while (sqlread.Read())
                {
                    content.InnerHtml += "<tr><td>发表日期:" + sqlread["dateTime"] + "</td></tr>";
                    content.InnerHtml += "<tr><td>&nbsp;</td></tr>";
                    content.InnerHtml += "<tr><td align='left'><span>" + sqlread["ArticleContent"] + "</span></td></tr>";  // 这行在保存的时候是有换号的,输出到HTML就不换行了,怎么解决?
                    id = int.Parse(sqlread["ArticleID"].ToString());
                }
                content.InnerHtml += "<tr><td>&nbsp;</td></tr>";
                
                content.InnerHtml += "<tr><td align='right'><a href='EditBlog.aspx?EditID=" + id.ToString() + "'>编辑</a></td></tr>";  
                content.InnerHtml += "</table></br></br></br>";
            }
content.InnerHtml += "<tr><td align='left'><span>" + sqlread["ArticleContent"] + "</span></td></tr>";  // 这行在保存的时候是有换号的,输出到HTML就不换行了,怎么解决?

解决方案 »

  1.   

    你保存的时候换行是\r\n吗? 如果是的话先替换成 br在输出出来
      

  2.   

    保存的时候是直接保存从HTML的textarea 提交的数据,请问怎么查看是不是\r\n啊?
      

  3.   

    哦  那估计是 \r\n了  你去数据库中看下 或者断点取值哪里 看是不是有 这个 然后替换原则就OK 
      

  4.   

    //用StringBuilder试试 
    using System.Text;
    ……………………………………
    ………………
            StringBuilder sb=new StringBuilder();
            sb.AppendLine(……);最后
    content.InnerHtml=sb.ToString();
      

  5.   

    content.InnerHtml += "<tr><td align='right'><a href='EditBlog.aspx?EditID=" + id.ToString().Replace("\r\n","<br/>") + "'>编辑</a></td></tr>";改成这样了还是不换行
      

  6.   

    sqlread["ArticleContent"].ToString().Replace("\r\n","<br/>")
    这样可以了,刚刚搞错了,谢谢了
      

  7.   

    .........
    string str="";
    str=this.txtDescription.Text;  //把TextBox中的内容先赋给str,再做处理
    str=str.Replace("\r\n", "<br>");
    str = str .Replace("\n", "<br>");
    str = str .Replace(" ", "&nbsp;"); //将 content 放入数据库保存
    string content=Server.HtmlEncode(str); //这里的html编码主要是将'<' 与 '>' 编码成代号符
    .......
    这样在数据库中就是以HTML文本格式的数据了,用Server.HtmlDecode在Label中就可以显示你在TextBox中编排的格式。但如你把数据再放回TextBox中,同理你就得重新转换一次,即:
    string str1="";
    str1=sdr["DepartmentDescription"].ToString();
     str1=str1.Replace("&lt;br&gt;", "\r\n"); //在数据库中"<"是"&lt;" ">"是"&gt;",
    str1=str1.Replace("&lt;br&gt;", "\n");
    str1=str1.Replace("&amp;nbsp;", " ");   //&amp;表示的是&