2016-10-31 1 views
0

Einfache Frage wirklich. Wie kann ich die Hintergrundfarbe des CKeditors von C# ändern?Wie Hintergrund des CKeditor von Code hinter C ändern #

Wie bekomme ich eine Instanz von CKeditor in C#? Wahrscheinlich kann ich nicht?

Ich habe eine Gridview mit vielen Textareas (asp: Textfeld) steuert alle mit dem CKeditor, über die CSSclass Eigenschaft, und es funktioniert super! Aber jetzt möchte ich dynamisch eine oder zwei oder alle ihre Hintergrundfarben zu etwas wie LightYellow ändern.

Ich habe versucht, den Hintergrund der asp:textbox direkt zu ändern, aber es funktioniert natürlich nicht, weil das vom CKeditor selbst "versteckt" ist.

Irgendwelche anderen Tipps bitte?

UPDATE

Ich habe den CKEditor für ASP.net heruntergeladen und es zu nicht, wie es erstellt automatisch ein textarea Elemente im Hintergrund auch funktioniert - effektiv das gleiche wie die CKeditor nativ mit mit CSSclass="".

Referenzieren des Steuerelements in C#, ich kann das jetzt tun, das ist großartig, so kann ich die Daten abrufen und in meiner Datenbank verwenden, aber ich kann immer noch nicht den Hintergrund des CKeditor ändern. Das CKeditor-Element BODY (getestet über FireBug) ist das, das ich ändern muss, aber wie aus C#?

Thanks again

+0

in 'config.js' wird es eine Option' config.uiColor = 'your-Farbcode'; ' – Webruster

+0

@Webbruster danke, aber ich muss den Hintergrund vom Server ändern, nicht die Clientseite dh: mit C#. Und Ihr Vorschlag ändert es für jede Instanz von CKeditor in meinem Programm. Danke jedenfalls – Fandango68

+1

'CKEDITOR.addCss ('body {background: red;}');' funktioniert, aber es ändert die Hintergrundfarbe für alle Editor auf der Seite. – VDWWD

Antwort

1

zunächst sicher, Sie beide CKEditor und CkeditorForASP.NET Pakete über Nuget installiert haben.

Danach erstellen Sie eine editor.css-Datei, die nur Editor verwandte Stile wie enthalten: richtig

.lightYellow { 
    background-color: lightyellow; 
} 

Auf dem Rasteransicht, bindet an OnRowDataBound Ereignis und gibt Basispfad von CKEditor-Skripten.

<asp:GridView ID="EditorGridView" runat="server" OnRowDataBound="EditorGridView_RowDataBound"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <CKEditor:CKEditorControl ID="Editor" runat="server" BasePath="~/Scripts/ckeditor" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

Dann werden Sie in der Lage sein, die Körperfarbe wie folgt zu ändern:

if (e.Row.RowType == DataControlRowType.DataRow) 
{ 
    CKEditorControl editor = (CKEditorControl)e.Row.FindControl("Editor"); 
    editor.BodyClass = "lightYellow"; 
    editor.ContentsCss = ResolveUrl("~/Content/editor.css"); 
} 
+0

Danke! Du bist eine Legende! Es klappt. Prost – Fandango68

+0

Nur eine Frage. Wie kann ich dasselbe tun, ohne eine separate .css-Datei zu erstellen? – Fandango68

+1

Ich habe andere Optionen ausprobiert -nicht einschließlich Javascript-Verwendung- und es scheint, dies ist der einzige Weg mit C#. –

Verwandte Themen