如何在asp.net中发布时获取CKEDITOR的内容

我在我的ASP.NET项目中使用了CKEDITOR,该页面包含asp:TextBox带有TextMode="Multiline" asp:TextBox和一个linkbutton。 当我按下linkbutton时,我无法在回发中获得TextBox值。没有错误发生…如何在服务器端获取内容? 我正在考虑使用jQuery跟踪CK内容的变化并将其复制到隐藏的textarea ..但似乎不对。

我使用的是CK v4.2的 javascript版本,而不是.net库版本。

加成:
在使用CKEditor.zip文件下载的示例中,您可以看到使用$ _POST在服务器端获取文本很容易。
为什么在ASP.NET中不是?

更新:
使用RadScriptManager,RadAjaxManager和RadAjaxPanel(来自telerik)时会发生此问题。

在ASPX页面上将CKEditor控件设置为:

  

在页面背后的代码:

 protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { string text1 = CKEditor1.Text; string text2 = CKEditor1.Value; ... } } 

请记住添加/包含对CKEditor二进制文件的正确引用

我遇到了同样的问题。 在一个简单的页面上,我测试了一个LinkBut​​ton和一个Button。 问题是LinkBut​​ton不直接提交表单。 它呈现为链接并调用__doPostBack事件,因此这对CKEditor来说是一个问题。 我试图设置像Nirmal建议的textarea,但这也没有用。 这是我解决它的方式。

标题:

  

在表格内:

    

C#

 protected void X_Click(object sender, EventArgs e) { divResult.InnerHtml = hfBody.Value; tBody.Text = hfBody.Value; } 

这样的事情可能有所帮助

 string newText = ((CKedit.CKeditor)(e.Item.FindControl("txtBox"))).Value; 

否则使用updatepanel保留其在回发上的值

我的一个同事通过设置setup属性来解决它,当init初始化时:

 setup: function (ed) { ed.on('change', function (e) { ed.save(); }); } 

这将在调用更改事件时将内容保存到编辑器。

在触发回发事件之前调用此函数设置值

 function setValue() { $("#txtinstruction").val(CKEDITOR.instances.txtinstruction.getData()); } 

txtinstruction是textbox或textarea的id