使用C#的Winforms(Windows应用程序)中的Tinymce- SetContent不工作

wgmfuz8q  于 2023-03-13  发布在  C#
关注(0)|答案(1)|浏览(148)

我在我的Winforms中使用TinyMce(Windows应用程序)使用C#。其他一切工作正常。iidoEe。我能够获得TinyMce的内容并存储在数据库中。但当我从数据库中提取内容并试图在TinyMce中显示时,内容没有被加载。2事实上SetContent函数根本没有被调用。3我甚至试着不带参数调用SetContent,但它没有被调用。同样,GetContent也被成功调用。下面是这两个函数(tinymce.htm文件中的JavaScript函数)

<script type="text/javascript">
function GetContent() {
    alert('GetContent is called');
    console.log('GetContent is called');
    return tinyMCE.get('editorcontent').getContent();
}

function SetContent(htmlContent) { //This is not called. Even if I remove the htmlContent parameter
    alert('SetContent is called');
    console.log('SetContent is called');
    tinyMCE.get('editorcontent').setContent(htmlContent);
}
</script>

这是我调用这些函数的C#代码(它是一个属性)。

public string HtmlContent
{
    get
    {
        string content = string.Empty;
        if (webBrowserControl != null && webBrowserControl.Document != null)
        {
            object html = webBrowserControl.Document.InvokeScript("GetContent");
            content = html as string;
        }
        return content;
    }
    set
    {
        if (webBrowserControl != null && webBrowserControl.Document != null)
        {
            //Code reaches here. I confirmed through breakpoint. I even tried 
            //removing the parameter but it didn't worked. SetContent was never 
            //called. 
            webBrowserControl.Document.InvokeScript("SetContent", new object[] { value });
        }
    }
}

问题是什么?我如何在使用C#的winforms(Windows应用程序)中动态设置tinyMCE的内容?

eaf3rand

eaf3rand1#

我的问题已经解决。张贴回答任何未来的人来此链接与相同的问题。SetContent没有被调用在相同的事件(Form_Load)TinyMCE被初始化(创建)。所以,我用了一个计时器滴答事件(1秒)延迟加载Html使用SetContent。请不要线程。睡眠(在Form_Load)是不起作用的。

相关问题