日期:2014-05-19  浏览次数:20397 次

急!做论坛时发表的一个帖子的内容是有换行的,可是显示时却没有了是怎么回事?
在发表时,提交按钮的事件里是这样的:
string   cont   =   Server.HtmlEncode(tbContent.Text.ToString().Replace( " ' ",   "! "));-------------cont是发表的内容;
在显示位置绑定时是这样的:
<asp:Label   ID= "Label4 "   runat= "server "   Text= ' <%#   Server.HtmlDecode(Eval( "content ").ToString())   %> '> </asp:Label>
但是,在发表时,明明是有换行的,到了显示的地方却都在一行了!这是怎么回事啊?
拜托各位了!!


------解决方案--------------------
public static string FullHTMLEncode(string inputVal)
{
if(inputVal != null)
{
inputVal = inputVal.Replace( "> ", "&gt; ");
inputVal = inputVal.Replace( " < ", "&lt; ");
inputVal = inputVal.Replace( "\ ' ", "&apos; ");
inputVal = inputVal.Replace( "\ " ", "&quot; ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)32), "&nbsp; ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)9), "&nbsp; ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)34), "&quot; ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)39), "&#39; ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)13), " ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)10)+string.Format( "{0} ",(char)13), " </p> <p> ");
inputVal = inputVal.Replace(string.Format( "{0} ",(char)10), " <br/> ");
}
return inputVal;
}
把字符用以上函数进行Html编码就可以了。