【问题标题】:How to integrate ckeditor in a razor page?如何将ckeditor集成到剃须刀页面中?
【发布时间】:2020-05-28 18:00:06
【问题描述】:

我希望将 ckeditor-full 4.14 集成到剃须刀页面中。我已将 NuGet 包下载到我在 Visual Studio 中的项目中。我找不到任何关于如何将它实现到 .razor 页面的文档。有人可以帮忙吗?

Error Message

【问题讨论】:

标签: asp.net-core razor ckeditor


【解决方案1】:

在剃须刀页面,我们在@section Scripts中添加脚本,你可以像这样添加脚本:

<div>
<textarea id="textarea111"></textarea>
</div>
@section Scripts {
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="https://cdn.ckeditor.com/4.14.0/standard/ckeditor.js"></script>
<script type="text/javascript">
    var ckeditor; 
    $(function () {
        ckeditor = CKEDITOR.replace("textarea111"); 
    });
</script>
}

这是我的代码结果。

更新:

在 Blazor 页面中:

首先,您可以使用以下命令从 NuGet 安装:

Install-Package Blazored.TextEditor

接下来,在 Pages/_Host.cshtml 中:

在head标签中添加如下CSS

<link href="//cdn.quilljs.com/1.3.6/quill.snow.css" rel="stylesheet">
<link href="//cdn.quilljs.com/1.3.6/quill.bubble.css" rel="stylesheet"> 

然后使用下面的脚本标签在页面底部添加JS脚本。

<script src="https://cdn.quilljs.com/1.3.6/quill.js"></script>
    <script src="_content/Blazored.TextEditor/quill-blot-formatter.min.js"></script>
    <script src="_content/Blazored.TextEditor/Blazored-BlazorQuill.js"></script>

这是我的页面:

@inherits LayoutComponentBase
@using Blazored.TextEditor
<div>
        <BlazoredTextEditor>
            <ToolbarContent>
                <select class="ql-header">
                    <option selected=""></option>
                    <option value="1"></option>
                    <option value="2"></option>
                    <option value="3"></option>
                    <option value="4"></option>
                    <option value="5"></option>
                </select>
                <span class="ql-formats">
                    <button class="ql-bold"></button>
                    <button class="ql-italic"></button>
                    <button class="ql-underline"></button>
                    <button class="ql-strike"></button>
                </span>
                <span class="ql-formats">
                    <select class="ql-color"></select>
                    <select class="ql-background"></select>
                </span>
                <span class="ql-formats">
                    <button class="ql-list" value="ordered"></button>
                    <button class="ql-list" value="bullet"></button>
                </span>
                <span class="ql-formats">
                    <button class="ql-link"></button>
                </span>
            </ToolbarContent>

            <EditorContent>
                <br />
                <h4>You can edit the text.</h4>

            </EditorContent>
        </BlazoredTextEditor>

    </div>

【讨论】:

  • 尝试将上述脚本添加到我的剃须刀页面时遇到的问题是“脚本标签不应放置在组件中,因为它们无法动态更新”。你知道为什么你的允许你添加脚本而我的不允许吗?我在帖子中添加了一个屏幕截图以向您显示错误。
  • 从你的错误,我发现你的页面是blazor,blazor不能直接使用脚本,如果你想加载ckeditor,你可以在Pages/_Host.cshtml中添加脚本。然后你的页面可以加载。但是,你不能在你的页面中使用。所以即使你加载它,你也不能在你的页面中使用它。除非你喜欢this。写一个js来实现ckeditor .并在 Pages/_Host.cshtml 中添加js。除此之外,您还可以在 blazor 中使用 rick 文本编辑器,我更新了我的答案以展示如何使用 blazor rick 文本编辑器。
  • 我已经在我的应用程序中实现了 Blazored 富文本编辑器,我希望使用 ckeditor,因为它有更多选项。看起来多亏了您的信息,这将是不可能的。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-24
  • 2021-10-27
  • 2020-04-15
  • 2021-03-01
  • 2021-04-05
  • 1970-01-01
  • 2019-09-13
相关资源
最近更新 更多