ASP.NET MVC2 如何应用FCKeditor3.6.4

安装部署篇

首先从官网下载FCKeditor3.6.4(asp.net)      

其实当前最新版是4.1.1的,但没有教程不会安装,所以下了这个版本的委屈

具体安装方法我这里不详述了,可以网上搜3.6.1的安装方法就行。我就是按这个装的。3.6.4版本的安装方法我百度是没找到。。。

安装部署方法参考网址:http://www.cnblogs.com/px7034/archive/2011/11/28/2266411.html

还有一个参考网址,这个是我后来才发现的,并没有参考,只是看了下,感觉挺详细的

http://zhidao.baidu.com/question/328638154.html

1、把_samples文件夹里的ckeditor文件夹拷贝到你的项目文件夹里

2、然后在MVC2项目的“引用"文件夹上右击来添加引用

路径是ckeditor_aspnet_3.6.4\bin\Release\CKEditor.NET.dll

3.在配置文件中添加
<system.web>
    <pages>
        <controls>
            <add tagPrefix="CKEditor" assembly="CKEditor.NET" namespace="CKEditor.NET"/>
        </controls>
    </pages>
</system.web>
4.在应用到ckeditor的页面引入
<%@Register Assembly="CKEditor.NET" Namespace="CKEditor.NET" TagPrefix="CKEditor"%>

5.在母版页或是引用FCKeditor的页面中,把ckeditor文件夹里的ckeditor.js引入进来。就是<script>标签引入方式。(这条他貌似没提到)

6.在需要用到ckeditor的地方加入
<CKEditor:CKEditorControl ID="CKEditor1" runat="server"></CKEditor:CKEditorControl>

当然这只是一种方法,还有一种是

添加标签<textarea id="Body1" name="Body1" rows="2" cols="9"></textarea>

rows和cols属性必须要有,不然这个textarea标签报错,我的VS2010里是这样的情况

然后新建js文件,里面写个当前页面加载时自动执行的方法,我是用JQuery写的,记得引用JQuery的包,不然报"$未定义”错误

$(function ()

{
    CKEDITOR.replace("Body1");
});

Ⅱ、用JS设置和获取FCKeditor的值,并传递控制器

首先我不知道该怎样用js直接把获取到的值传递给控制器,所以我用了个比较绕远的方法来实现的。

先在引用FCKeditor的页面里添加一个隐藏域:<%:Html.Hidden("FCK")%>

然后在js文件里写一个方法

function getValueToHidden()
{
    document.getElementById("FCK").value = CKEDITOR.instances.Body1.getData();
}

这个方法的功能是把获取到的FCKeditor里的值传递给隐藏域,为隐藏域赋值。

这个方法我是在提交按钮的onclick事件里触发的,οnclick="getValueToHidden()"

这样隐藏域里就有了值,然后在Controller中写个方法来接收隐藏域里的值

eg:

public ActionResult Post(string FCK)

{

    方法体(略);

}

注意参数的名字必须和隐藏域里定义的名字一样,不然获取不到隐藏域里的值

mvc里好像有个机制能够实现同名自动绑定,具体我也不是太清楚。这里只是提一下。

这样方法就能接收到FCKeditor里的值了,当然这还不完善。(有几个提前步骤我放到下面了,到这里应该还获取不到值,因为会报异常的。)

Ⅲ、解决“检测到有潜在危险的 Request.Form 值.”异常问题

上面的方法传递FCKeditor值时应该会报“xxxxxx检测到有潜在危险的 Request.Form 值.”这个异常,解决的方法很简单,当然这个方法不是完美的,我是为了赶时间先临时用的这种解决方法。

解决方法1:

参考网址:http://zhidao.baidu.com/question/227945060.html

1.在接收的方法上面加上[ValidateInput(false)]

2.项目中最外面那个web.config中的system.web节点里面加上<httpRuntime requestValidationMode="2.0"/>

解决方法2:

参考网址:http://www.cnblogs.com/UouHt/archive/2008/10/30/1322697.html

种方法主要是用replace()来替换FCKeditor里的标签符号“<”和“>”,我感觉比较好,但我这里经常出问题,为了赶时间就没用这种方法。


以上就是我这几天来用FCKeditor的一些心得体会,希望能帮助后来人!大笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

霜影

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值