我一直致力于一个使用Telerik RadEditor控件(版本2009.1.402.35)的项目。在大多数情况下,一切似乎都能正常工作(即粗体,斜体,颜色等)。但问题是,当用户编辑内容时,缩进和列表(项目符号和编号)功能在屏幕上无法正确呈现。有趣的是,当单击缩进或列表按钮时,它会将正确的标记添加到html。
问题出现在MSIE 6,7,8和FireFox 3(迄今为止我测试过的唯一)。编辑器正在SharePoint环境的上下文中运行的usercontrol中使用。我怀疑它是某种类型的CSS冲突,或者与我使用它的方式不兼容。关于为什么某些功能可以工作而不是其他功能的任何想法?
<telerik:RadEditor ID="topicBody" Runat="server" Width="100%" height="300" >
<Tools>
<telerik:EditorToolGroup Tag="Top">
<telerik:EditorTool Name="Bold" />
<telerik:EditorTool name="Italic"/>
<telerik:EditorTool name="Underline"/>
<telerik:EditorTool name="StrikeThrough"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="JustifyLeft"/>
<telerik:EditorTool name="JustifyCenter"/>
<telerik:EditorTool name="JustifyRight"/>
<telerik:EditorTool name="JustifyFull"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="InsertOrderedList"/>
<telerik:EditorTool name="InsertUnorderedList"/>
<telerik:EditorTool name="Outdent"/>
<telerik:EditorTool name="Indent"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="FontName"/>
<telerik:EditorTool name="FontSize"/>
<telerik:EditorTool name="ForeColor"/>
<telerik:EditorTool name="BackColor"/>
</telerik:EditorToolGroup>
<telerik:EditorToolGroup Tag="Middle">
<telerik:EditorTool name="Undo"/>
<telerik:EditorTool name="Redo"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="LinkManager"/>
<telerik:EditorTool name="Unlink"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="InsertTable"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="Cut"/>
<telerik:EditorTool name="Copy"/>
<telerik:EditorTool name="PasteAsHtml"/>
<telerik:EditorTool name="PastePlainText"/>
<telerik:EditorSeparator Visible="true" />
<telerik:EditorTool name="Print"/>
</telerik:EditorToolGroup>
</Tools>
</telerik:RadEditor>
答案 0 :(得分:2)
请参阅以下帮助文章,该文章提供了如何解决问题的指导: http://www.telerik.com/help/aspnet-ajax/editor-content-area-appearance-problems.html
答案 1 :(得分:1)
这个问题原来是CSS冲突。主站点CSS文件具有匹配BLOCKQUOTE,OL,UL和LI的选择器,这些选择器干扰了RadEditor。鉴于RadEditor使用IFrame呈现用户正在编辑的内容,这一点令人惊讶。我不相信它应该从容器站点拉css。这似乎是控件中的一个错误,它允许样式渗透到Iframe,它应该是一个没有外部CSS的岛屿。
答案 2 :(得分:0)
请尝试使用以下代码:
if (Request.Browser.Browser.ToLowerInvariant() == "firefox")
{
System.Reflection.FieldInfo browserCheckedField = typeof(RadEditor).GetField("_browserCapabilitiesRetrieved", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
browserCheckedField.SetValue(RadEditor1, true);
System.Reflection.FieldInfo browserSupportedField = typeof(RadEditor).GetField("_isSupportedBrowser", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
browserSupportedField.SetValue(RadEditor1, true);
}