2009-06-08 6 views
0

Я работаю над проектом, в котором используется элемент управления Telerik RadEditor (версия 2009.1.402.35). По большей части все, кажется, отлично работает с ним (т. Е. Жирным шрифтом, курсивом, цветом и т. Д.). Проблема в том, что функции отступа и списка (маркированные и нумерованные) не отображаются должным образом на экране во время редактирования содержимого. Что интересно, так это то, что при нажатии кнопки отступа или списка она добавляет правильную разметку в html.Telerik RadEditor Rendering issue

Проблема проявляется в MSIE 6,7, 8 и FireFox 3 (единственные, которые я тестировал до сих пор). Редактор используется внутри пользовательского элемента управления, который выполняется в контексте среды SharePoint. Мои подозрения в том, что это какой-то конфликт 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> 

ответ

1

Проблема в том, что это оказалось противоречивым CSS. В файле CSS основного сайта были селектора, которые соответствовали BLOCKQUOTE, OL, UL и LI, которые мешали RadEditor. Это удивительно, учитывая тот факт, что RadEditor использует IFrame для визуализации содержимого, которое пользователь редактирует. Я не верю, что нужно вытаскивать css из контейнера. Это похоже на ошибку в контроле, которая позволяет стилям истекать через IFrame, который должен быть островом без внешнего CSS.

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

 Смежные вопросы

  • Нет связанных вопросов^_^