真的很简单的问题。如何从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#是如何改变的?
再次感谢
答案 0 :(得分:1)
首先,请确保您已通过Nuget安装了CKEditor和CkeditorForASP.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");
}