asp.net core mvc 中的 CKEditor 数据绑定(bind)

标签 ckeditor asp.net-core-mvc

我创建了一个 EditController 来获取和编辑 ASP.NET Core 项目中数据库的内容。 Controller 如下:

[HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Edit(MyObject model)
    {
        if (ModelState.IsValid)
        {
            await  _myObjectRepository.UpdateMsg(model);

            return RedirectToAction("Index");
        }
        return View();
    }

我使用以下脚本标记来引用 ckeditor 并将其保留在 Edit.cshtml 上。

在表单标记内,我放置了以下代码行来显示编辑器并在编辑器内显示数据库中的数据。

<div class="form-group">
    <label asp-for="Body" class="col-sm-2 control-label"></label>
    <div class="col-sm-10">
       <textarea asp-for="Body"  id="editor1" name="editor1"></textarea>
    </div>
</div>

<script type="text/javascript">CKEDITOR.replace('Body');</script>

将数据库中的数据显示到编辑器中没有问题。但是当我尝试更改编辑器中的文本时,数据库中不会出现任何文本。

因此,在不使用编辑器的情况下测试了代码,即我只是使用标签而不是 CKEditor,使用通常的 Razor 属性,并且工作正常。我该如何解决这个问题?

最佳答案

我相信您在 MyObject 类中有一个属性来存储 CKEditor 的内容。假设“ckEditorVar”是存储 ckeditor 内容的属性。以下代码对我有用。我希望它也对您有用。

    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> Edit(MyObject model)
    {

        if (ModelState.IsValid)
        {
             await _myObjectRepository.UpdateMsg(new MyObject 
            {
                ckeditorVar = Request.Form["editor1"].ToString(),

             });

            return RedirectToAction("Index");
        }
        return View();
    }

关于asp.net core mvc 中的 CKEditor 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41012516/

相关文章:

CKEditor 错误,未捕获的 IndexSizeError : Failed to execute 'extend' on 'Selection' : 1 is larger than the given node's length

Drupal 8 中的 Ckeditor : how to remove <span> tags if they don't have class attributes?

ckeditor - CKEditor皮肤动态更新

c# - 如何从 body 接受 API Controller 方法中的 List<string> 作为 json?

asp.net-core - NPoco 在 .net Core 中的使用

javascript - CKEditor 禁用 HTML 转换

ckeditor - 将图像上传到 laravel 中的 ckeditor 服务器响应不正确

c# - 获取 Entity Framework 核心 1.1 的空异常

entity-framework - 带有 INT id 列的 MVC 6 的 ASP.Net 身份

routing - 在 Azure 上部署时,区域路由在 ASP.NET Core MVC 中不起作用