在辐射编辑器中设置内容

本文关键字:设置 辐射 编辑器 | 更新日期: 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 的方式可能是问题之一。可能导致此问题的另一件事是页面生命周期。