在一个项目中有这么一个基本需求:在一个字段中输入多行文本,保存到数据库中;以后需要按这个格式打印或者显示出来(使用html)。
开始为了快速开发,只是加入一个多行文本框,在网页中文本自然不能按输入的格式显示。
后来考虑使用现成的在线编辑器作为输入框,功能肯定能实现(使用了FckEditor),但是出现一个问题,就是当我在网页中加入ajax支持时,FckEditor不能正常工作了,即使按照官方网站的帮助也不能正常工作。
最后解决方案,还是用多行文本框,只是使用空格和换行来处理格式,保存到数据库,注意页面要加入ValidateRequest="false",否则不正常工作。
显示时只是把空格和换行进行转换,简单格式即可显示。
转换函数:
//简单的把文本转换为html
public static string ConvertTextToHtml(string strText)
{
string strHtml = strText.Replace(" ", " ");
strHtml = strHtml.Replace("/r/n", "<p>");
return strHtml;
}