CKeditor 使用
CKeditor就是FCKeditor 只是后来FCKeditor 改名字了
最近的CKeditor 已经不再需要dll文件了 全部都集成在了js文件中 那么不论是.net 还是J2EE平台都能很方便的用啦
这里是他的官方网址 http://ckeditor.com/
解压后 有一个 CKeditor 文件夹 粘贴到项目中即可
在页面文件中添加JS
<script type="text/javascript" src="http://cart55free99.blog.163.com/blog/../ckeditor/ckeditor.js"></script>
拖入一个文本输入框TextBox1 且TextMode="MultiLine" 然后用JS替换成CKEditor的文本输入框
替换的方法
第一种为是使用window.onload
<script type="text/javascript">
window.onload=function()
{
CKEDITOR.replace('TextBox1');
}
</script>
另外一种(推荐)
<asp:TextBox ID="TextBox1" TextMode="MultiLine" runat="server"></asp:TextBox>
<script type="text/javascript">
CKEDITOR.replace('TextBox1');
</script>
如果嫌默认输入框的工具太多
可以修改config.js
修改为这样
CKEDITOR.editorConfig = function( config ) { // Define changes to default configuration here. For example: // config.language = 'fr'; // config.uiColor = '#AADC6E'; config.toolbar = [ ['Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript'], ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'], ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], ['Link', 'Unlink', 'Anchor'], ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak'], '/', ['Styles', 'Format', 'Font', 'FontSize'], ['TextColor', 'BGColor'], ['Maximize', 'ShowBlocks', '-', 'Source', '-', 'Undo', 'Redo'] ]; }; CKEDITOR.config.htmlEncodeOutput = true;
官方配置方式:
http://docs.fckeditor.net/ckeditor_api/symbols/CKEDITOR.config.html#.autoUpdateElement
关于CKEDITOR.config.htmlEncodeOutput = true;
其实设置成这样 就不会出现 A potentially dangerous Request.Form value was detected from the client 这种报错了
这种错误网上其他地方的解决方法不是很好 会降低系统的安全性
因为设置为true后会把所有的HTML标签转换
例如 <p>转换为 <p>
信息将以这样的方式存入数据库
当数据从数据库中取出来
如果数据库中本身的数据就是<strong>b</strong> 那么responsewrite的化 页面上就是有格式的文本
而如果数据库中是<p> 解析出来就是带有HTML标签的文本 这样的<p>
而我是希望有格式 那么数据从数据库中取出来的时候decode一次 使得<p> 变成<p>
然后再写到页面上
decode的使用 http://msdn.microsoft.com/zh-cn/library/7c5fyk1k%28v=vs.80%29.aspx