做开发真的是会遇到各种问题,如果不亲自尝试,不动手,很难发现问题。
下面我们说下在MVC中的用法
1,首先引入js文件
<script type="text/javascript" src='@Url.Content("~/Content/editor/kindeditor-min.js")'></script>
<script type="text/javascript" src='@Url.Content("~/Content/editor/lang/zh_CN.js")'></script>
var editor; //
KindEditor.ready(function (K) {
editor = K.create('#Content', { filterMode: true,
uploadJson: '@Url.Content("~/Content/editor/asp.net/upload_json.ashx")',
fileManagerJson: '@Url.Content("~/Contenteditor/asp.net/file_manager_json.ashx")',
afterBlur: function () { editor.sync(); },//MVC中不加这句取不到值
allowFileManager: true
}); //创建在线编辑器
});
2,前台页面代码
@Html.TextAreaFor(c => c.Content, new { style = "width:600px;height:400px" });
3,后台页面代码
[HttpPost]
[ValidateInput(false)]若没有此行代码,会报错
public virtual ActionResult EditDocument(DocumentModel documentModel)
{
if (ModelState.IsValid)
{ documentModel.Content = documentModel.Content.HtmlDecode().ToLegalContentHtml(); }
return View("EditDocument", documentModel);
}
afterBlur: function () { editor.sync(); },这一行代码。
那么这个 this.sync(); 函数是干嘛的呢?简单的说:这个函数就是同步KindEditor的值到textarea文本框。
官方解释:
sync()
将编辑器的内容设置到原来的textarea控件里。
参数: 无
返回: KEditor
地址:http://www.kindsoft.net/docs/editor.html#sync