您的位置:首页 > 编程语言 > ASP

asp.net下ckeditor3.0.1和ckfinder_aspnet_1.4.1.1的配置方法

2010-12-13 17:22 681 查看


Code
<asp:TextBox id="txtContent" TextMode="MultiLine" Text='<%# Bind("info") %>' runat="server"></asp:TextBox>

<script type="text/javascript">

var editor

= CKEDITOR.replace('txtContent');

CKFinder.SetupCKEditor(editor,

'http://www.cnblogs.com/ckeditor/ckfinder/');

</script>

个人觉得,既然是asp.net的程序,那就用服务器端的控件吧。尽管运行效率比客户端控件要慢一点,但开发效率要快一些。而且,作为程序员,我们总是喜欢是尝试所有的可能性,然后再选择自己喜欢的那一种。

其实,这里也可以不使用Text='<%# Bind("info") %>'来对控件进行赋值,直接在后置代码中使用

this.txtContent.Text=”初始值”
也是可以的。取值的时候,也可以直接使用如下代码:

string content= this.txtContent.Text
注意:TextMode="MultiLine"属性必不可少,否则取到的将是空值。

在调试程序之前,我没有精简CKFinder和CKEditor 的代码。当我直接运行带有编辑器的页面时,编译器提示如下错误:

命名空间“System.Web.UI.Design”中不存在类型或命名空间名称“ControlDesigner”(是缺少程序集引用吗?)

出错的地方在ckeditor\ckfinder\_source\FileBrowserDesigner.cs的第19行,于是,索性把文件精简一下:

第一步,精简ckeditor :将 _samples、_source 文件夹删除,lang 目录下可以只保留en.js、zh.js、zh-cn.js 三个语言文件;

第二步,精简ckfinder:将 _samples、_source 文件夹删除,lang 目录下可以只保留en.js、zh.js、zh-cn.js 三个语言文件。

这里请注意js代码的第二行:CKFinder.SetupCKEditor(editor, 'http://www.cnblogs.com/ckeditor/ckfinder/');,这里的“http://www.cnblogs.com/ckeditor/ckfinder/”是ckfinder与当前页面的相对路径,请大家不要直接复制粘贴代码,否则在上传图片时,可能会出现如下错误:

说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。

请求的URL: /admin/ckeditor/ckfinder/core/connector/aspx/connector.aspx

所以,如果您不想同我一样把ckfinder放到ckeditor文件夹里,那也没关系,只要你在这里把路径修改填写正确就可以了。

我以为这样就算是做完了所有的工作了,但当我上传图片时,却又弹出了如下的提示信息:

因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件。

没办法呀 ,俗话说,好事多磨。我又只能去请教最好的老师——百度了。复制上面的提示信息到百度搜索框,回车后找到了一条关于PHP整合ckeditor的帖子,对比了一下,抱着试一试的心态,居然把这样问题解决了。方法是这样的:

修改CKFinder下的config.ascx文件,将public override bool CheckAuthentication()函数的返回值由return false修改为return true。

再次测试,图片上传成功!

摘自 /article/5312594.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: