我在我的ASP.NET项目中使用了CKEDITOR,该页面包含带有TextMode="Multiline"和链接按钮的asp:TextBox。当我按下链接按钮时,我无法在回发中得到TextBox值。没有出错..。如何在服务器端获取内容?我正在考虑使用jQuery跟踪CK内容的变化,并将其复制到隐藏的textarea..but中,这似乎是不对的。
我使用的是CK v4.2的javascript版本,而不是.net库版本。
加法:
在使用CKEditor.zip文件下载的示例中,您可以看到在服务器端获取文本很容易使用$_POST。
为什么在ASP.NET不是?
更新:
使用RadScriptManager、RadAjaxManager和RadAjaxPanel (来自telerik)时会出现此问题。
发布于 2013-08-22 11:58:43
在ASPX页面上,将CKEditor控件设置为:
<CKEditor:CKEditorControl ID="CKEditor1" runat="server"/>在后面的代码页上:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
string text1 = CKEditor1.Text;
string text2 = CKEditor1.Value;
...
}
}记住添加/包含对CKEditor二进制文件的正确引用
发布于 2014-02-28 01:18:10
我也面临着同样的问题。在一个简单的页面上,我测试了一个LinkButton和一个按钮。问题是LinkButton不直接提交表单。它呈现为链接并调用__doPostBack事件,因此这是CKEditor的一个问题。我试着像Nirmal建议的那样设置textarea,但这也不起作用。我就是这样解决的。
标题:
<script type="text/javascript">
$(document).ready(function () { $("#tBody").ckeditor(); });
function setValue() {
$("#hfBody").val(CKEDITOR.instances.tBody.getData());
}
</script>在表格内:
<asp:TextBox ID="tBody" runat="server" TextMode="MultiLine"/>
<asp:HiddenField ID="hfBody" runat="server" />
<asp:LinkButton ID="btnSend" Text="Link" runat="server" OnClick="X_Click"
OnClientClick="setValue()"/>C#
protected void X_Click(object sender, EventArgs e)
{
divResult.InnerHtml = hfBody.Value;
tBody.Text = hfBody.Value;
}发布于 2013-08-22 11:54:01
像这样的东西可能会有帮助
string newText = ((CKedit.CKeditor)(e.Item.FindControl("txtBox"))).Value;否则使用updatepanel在回发时保留其值。
https://stackoverflow.com/questions/18379548
复制相似问题