KE ASP.NET取到kindeditor 编辑器数据

最近在用ASP.NET做一个项目,本来感觉是很小的一个项目,应该没有什么问 题,但是在做到文本编辑器的时候确实把我给难住了,我花了好长时间在网上搜资料,最终选用了KindEditor文本编辑器,这个比FCKEditor文 本编辑器轻巧,而且也不用很进行很麻烦的参数配置,直接从官网上下载文件包,解压一下,里面有asp,asp.net,php,jsp的应用实例,用过之 后感觉确定蛮好的,很轻巧也很灵活,可以说完全满足了我的需求,本来以为万事大吉了,可是今天上午的时候在取值的时候(以前只是调试出效果,但是并没有取 值保存),突然间发现在后台取不到textarea的值,为此我在网上狂搜了一天,最终在精疲力竭准备放弃的时候灵光一闪,找到了问题的解决方法,下面是 摘自官网的一段说明文档:

KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要将HTML数据设置到原来的textarea,editor.sync()函数会完成这个动作。

KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加editor.sync()函数,所以用form方式提交数据,不需要手动执行editor.sync()函数。

然后我又仔细看了看附带的实例,终于找到了问题所在,以下代码基本上就是官方给出的源码,就是增加了一个事件,然后一切搞定,终于可以在后台通过this.txtWb.value获取到文本编辑器的值了

 

  

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="kindeditor-4.0.4/kindeditor-min.js" type="text/javascript"></script>
<script src="kindeditor-4.0.4/lang/zh_CN.js" type="text/javascript"></script>
<script>
var editor;
KindEditor.ready(function (K) {
  editor = K.create('#TextBox2', {
    allowFileManager: true,
    afterCreate: function () {
    var self = this;
    K.ctrl(document, 13, function () {
    self.sync();
    K('form[name=formCreateDocument]')[0].submit();
  });
  K.ctrl(self.edit.doc, 13, function () {
    self.sync();
    K('form[name=formCreateDocument]')[0].submit();
  });
  $('#Button1').click(function () {
    self.sync();
  });
 }
});
prettyPrint();
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button
ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</div>
</form>
</body>
</html>

 

----------------后台

protected void Button1_Click(object sender, EventArgs e)
{
string txt = this.TextBox2.Text;
}

你可能感兴趣的:(kindeditor)