如何从C#后面的代码更改CKeditor的背景

时间:2016-10-31 05:15:35

标签: c# asp.net background ckeditor

真的很简单的问题。如何从C#更改CKeditor的背景颜色?

如何在C#中获取CKeditor实例?可能我不能?

我有一个带有很多textareas(asp:textbox)控件的gridview,它们全部使用CKeditor,通过CSSclass属性,它运行得很好!但是现在我想动态地将一个或两个或所有背景颜色改为LightYellow

我试图直接更改asp:textbox的背景,但它当然不起作用,因为它隐藏了"来自CKeditor本身。

还有其他任何提示吗?

更新

我已经下载了针对ASP.net的CKEditor,而且也无效,因为它还会在后台自动创建一个textarea元素 - 实际上与使用相同CKeditor本身与CSSclass=""

在C#中引用控件,我现在可以这样做,这很好,所以我可以获取数据并在我的数据库中使用它,但我仍然无法改变CKeditor的背景。 CKeditor的BODY元素(通过FireBug测试)是我需要改变的元素,但C#是如何改变的?

再次感谢

1 个答案:

答案 0 :(得分:1)

首先,请确保您已通过Nuget安装了CKEditorCkeditorForASP.NET个软件包。

然后,创建一个 editor.css 文件,该文件仅包含与编辑器相关的样式,例如:

.lightYellow {
   background-color: lightyellow;
}

在网格视图上,绑定到OnRowDataBound事件并正确指定CKEditor脚本的基本路径。

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

然后您可以按如下方式更改正文颜色:

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