我已经访问了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。我怀疑与这个问题有关的是页面生命周期。
有什么建议可以解决这个问题吗?
发布于 2013-09-17 21:58:51
我已经遇到这个问题很多次了,从来没有找到一个“合适的”解决方案。
然而,一个很好的解决办法是通过注入的脚本简单地从客户端设置内容。最终的结果是一样的,如果你能容忍10毫秒的延迟,值得考虑。
在注释后编辑请求的引用
基本上你需要做的就是使用ASP.NET WebForms $find函数来获取编辑器的一个实例。它获取所呈现对象的根的html,并返回客户端viewModel (如果存在)。
最后的$(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>发布于 2013-09-19 17:43:02
看看这里,看看如何让RadEditor在RadWindow:http://www.telerik.com/help/aspnet-ajax/window-troubleshooting-radeditor-in-radwindow.html中工作。
简而言之,在RadWindow的OnClientShow事件中,您需要具备以下内容:
function OnClientShow()
{
$find("<%=RadEditor1.ClientID %>").onParentNodeChanged();
}发布于 2013-09-18 19:43:18
要仅编辑Html代码,您可以添加-
EnableTextareaMode="true"将此属性添加到RadEditor。
我怀疑控件尝试解释html的方式可能是问题之一。可能导致此问题的另一个原因是页面生命周期。
https://stackoverflow.com/questions/18850041
复制相似问题