将CKEditor.NET和CKFinder.NET封装成一个控件

如题,直入主体:

1、去CKEditor官方网站下载CKEditor.NET和CKFinder.NET两个控件。

2、新建一个类库工程,并引入相应的程序集,在项目中新建CKEditor.NET和CKFinder.NET两个文件夹,并把相应类库中的文件直接拷贝到这两个文件夹中,注意不要更换命名控件,一切默认即可。(原因很简单,就是在这些控件如文件上传时,是原来的命名控件,如果更改了,这些文件所引入的命名空间将要修改,这是个很庞大的工程,不要去想了。)

3、在AssemblyInfo.cs文件添加标记前缀,这个的作用是,单托控件的时候前面不会显示什么cc1:xx这样的,而是你取得名字,要好看才行的。

1 [assembly: TagPrefix("CKEditor.NET", "CKEditor")]
2 [assembly: TagPrefix("CKFinder", "CKFinder")]
View Code


这样就全部封装完了,我这样封装一个类库的好处是,在项目中使用不要引用多个不同的类库,直接一个搞定,非常的方便。

最后是如何在项目中配置这两个控件了:
    1、拷贝ckeditor、ckfinder两个文件夹在根目录上,引入ComControl类库,并在工具箱中添加此类库,即可实现拖拉控件。
    2、如果改变了目录,则修改ckeditor/config.js文件路径,ckeditor文件包已经集成了文件上传ckfinder的功能,目录配置也是在ckeditor/config.js里,改变了默认路径请修改此处地方。ckfinder也是如此,改变了默认路径请修改ckfinder/config.js。
    3、ckfinder默认上传路径在ckfinder/userfiles中,如果改变默认路径,请修改ckfinder/config.ascx文件中的SetConfig()方法。
    4、ckfinder上传的文件夹必须有可写的权限。
    5、ckfinder/config.ascx中的CheckAuthentication()方法默认为true,当正式项目部署时,要根据权限判断返回bool。因为默认为true时,任何人都能得到上传文件夹的可写操作,当有人知道了这个控件的路径时,后果将非常严重。

最后晒一个图:

最后附上源码:(链接: https://pan.baidu.com/s/1cniFwU 密码: 8dbd)

当拷贝ckeditor和ckfinder到项目的时候,切记不要引入_sampler,_sourse,sample这些文件夹。

posted @ 2013-05-15 10:59  EasonJim  阅读(2345)  评论(15编辑  收藏  举报