Telerik RadEditor渲染问题

时间:2009-06-08 16:27:03

标签: html rendering telerik wysiwyg

我一直致力于一个使用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>

3 个答案:

答案 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);
            }