Asp.net MVC使用KindEditor4

最近转入Asp.net MVC开发,WebForm下惯用的FreeTextBox已然不能用了。于是想找个功能全、界面雅、免费的纯JS编辑器,KindEditor4正好满足本人的要求,包括图片、Flash、视频上传及空间管理而且配置也异常的简单。下面简单说一下在Asp.net MVC环境下基本配置方法。

Step 1. 下载KindEditor

首先到KindEditor官网下载(目前是4.1.7版本),解压后删除jsp、php、asp、examples文件夹,放入Asp.net MVC项目中的Scripts文件夹中。

Step 2. 添加HomeController

    public class HomeController : Controller
    {
        //
        // GET: /Home/
        [ValidateInput(false)]
        public ActionResult Index()
        {
            return View();
        }

        [ValidateInput(false)]
        [HttpPost]
        public ActionResult Index(string content)
        {
            ViewBag.Content = content;
            return View();
        }
    }

注意ValidateInput特性设置为false,否则无法插入Html标记。

Step 3. 在视图中加入KindEditor脚本

<script src="../../Scripts/kindeditor/kindeditor-min.js" type="text/javascript"></script>
<script type="text/javascript">
    KindEditor.ready(function (K) {
        var options = {
            uploadJson: '../scripts/kindeditor/asp.net/upload_json.ashx',
            fileManagerJson: '../scripts/kindeditor/asp.net/file_manager_json.ashx',
            allowFileManager : true
        };
        window.editor = K.create('#content', options);
    });
</script>

<h2>KindEditor4编辑器</h2>

@Html.Raw(@ViewBag.Content)

@using (Html.BeginForm())
{
    <textarea id="content" name="content" style="width:700px;height:300px;"></textarea>
    <input type="submit" value="提交" />
}
  • uploadJson和fileManagerJson设置值要注意路径名称
  • window.editor = K.create(‘#content’, options);中的#content要与textarea标记的id一致
  • 显示输出时,使用Html.Raw辅助方法才能正确显示Html

Step 4. 引用LitJSON.dll

项目引用KindEditor/asp.net/bin目录下的LitJSON.dll。

现在已经可以运行了。如果想要修改上传文件大小的限制,必须修改upload_json.ashx程序中的maxSize以及修改项目的Web.Config,在<system.web>中加入诸如<httpRuntime maxRequestLength=”20000000″ executionTimeout=”3600″ />(此处限制上传文件20MB)。上传的文件放置在KindEditor/attached目录下,如需修改,可分别在upload_json.ashx及file_manager_json.ashx中修改保存路径。

下载Demo

标签