在辐射编辑器中设置内容
本文关键字:设置 辐射 编辑器 | 更新日期: 2023-09-27 18:31:40
我访问了 Telerik 的网站并查看了他们的演示等......但是我在尝试在 RadEditor 中加载内容 (html) 时遇到问题。
我有一个Button_Click事件,我在其中获取我的 html 字符串,然后将其设置为 RadEditor。RadEditor 位于 RadWindow 内,只有在单击按钮时才会可见。
protected void btnSubmitHtml_Click(object sender, EventArgs e)
{
RadEditor1.Content = "<p>hello there</p>";
RadWindow1.Visible = true;
}
由于某种奇怪的原因,这不会显示RadEditor中的html。我怀疑是页面生命周期涉及这个问题。
有什么建议可以解决这个问题吗?
我多次遇到此问题,但从未找到"正确"的解决方案。
但是,一个很好的解决方法是通过注入的脚本简单地从客户端设置内容。最终结果是一样的,如果能容忍10毫秒的延迟,值得考虑。
评论后编辑请求参考
基本上,使用WebForms$find函数获取编辑器实例所需的 ASP.NET 所有内容。 它采用呈现对象根的 html ID,并返回客户端视图模型(如果存在)。
末尾的 $(setEditorInitialContent) 调用假定 jQuery 存在,并将函数的执行延迟到页面加载。
<telerik:radeditor runat="server" ID="RadEditor1">
<Content>
Here is sample content!
</Content>
</telerik:radeditor>
<script type="text/javascript">
function setEditorInitialContent() {
var editor = $find("<%=RadEditor1.ClientID%>"); //get a reference to RadEditor client object
editor.set_html("HEY THIS IS SOME CONTENT INTO YOUR EDITOR!!!!");
}
$(setEditorInitialContent);
</script>
看看这里,了解如何让 RadEditor 在 RadWindow 中工作: http://www.telerik.com/help/aspnet-ajax/window-troubleshooting-radeditor-in-radwindow.html。
简而言之,以下是您在 RadWindow 的 OnClientShow 事件中需要的内容:
function OnClientShow()
{
$find("<%=RadEditor1.ClientID %>").onParentNodeChanged();
}
要编辑 Html 代码,只有您可以添加 -
EnableTextareaMode="true"
将此属性添加到辐射编辑器。
我怀疑控件尝试解释 html 的方式可能是问题之一。可能导致此问题的另一件事是页面生命周期。