2009-06-08 8 views
0

Ich habe an einem Projekt gearbeitet, in dem wir das Telerik RadEditor-Steuerelement (Version 2009.1.402.35) verwenden. In den meisten Fällen scheint alles gut zu funktionieren (d. H. Fett, kursiv, Farbe usw.). Ein Problem besteht jedoch darin, dass die Funktionen Einzug und Liste (Aufzählungen und nummeriert) auf dem Bildschirm nicht ordnungsgemäß wiedergegeben werden, während der Benutzer den Inhalt bearbeitet. Interessant ist, dass beim Klicken auf die Einrückungs- oder Listenschaltfläche das korrekte Markup zum HTML hinzugefügt wird.Telerik RadEditor Rendering-Problem

Das Problem manifestiert sich in MSIE 6,7, 8 und FireFox 3 (die einzigen, die ich bisher getestet habe). Der Editor wird innerhalb einer Benutzersteuerung verwendet, die im Kontext einer SharePoint-Umgebung ausgeführt wird. Mein Verdacht ist, dass es eine Art von CSS-Konflikt oder eine Inkompatibilität mit der Art ist, wie ich es benutze. Irgendwelche Ideen, warum einige der Funktionen funktionieren, aber nicht andere mit dieser Kontrolle?

<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> 

Antwort

1

Das Problem bei diesem erwies sich als widersprüchlich CSS. Die CSS-Datei der Hauptsite enthielt Selektoren, die BLOCKQUOTE, OL, UL und LI enthielten und den RadEditor störten. Dies ist überraschend angesichts der Tatsache, dass der RadEditor einen IFrame verwendet, um den Inhalt, den der Benutzer gerade bearbeitet, zu rendern. Ich glaube nicht, dass es css von der Containerseite ziehen sollte. Dies scheint ein Fehler im Steuerelement zu sein, dass es Styles erlaubt, durch den Iframe zu bluten, was ein Island ohne CSS außerhalb sein sollte.

0

Bitte versuchen Sie es unter Code:

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