asp.net核心mvc中的CKEditor数据绑定
我已经创建了一个EditController来获取和编辑asp.net核心项目中数据库的内容。控制器如下所示:asp.net核心mvc中的CKEditor数据绑定,ckeditor,asp.net-core-mvc,Ckeditor,Asp.net Core Mvc,我已经创建了一个EditController来获取和编辑asp.net核心项目中数据库的内容。控制器如下所示: [HttpPost] [ValidateAntiForgeryToken] public async Task<IActionResult> Edit(MyObject model) { if (ModelState.IsValid) { await _myObjectRepository.U
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(MyObject model)
{
if (ModelState.IsValid)
{
await _myObjectRepository.UpdateMsg(model);
return RedirectToAction("Index");
}
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
公共异步任务编辑(MyObject模型)
{
if(ModelState.IsValid)
{
wait_myObjectRepository.UpdateMsg(模型);
返回操作(“索引”);
}
返回视图();
}
我使用了下面的脚本标记来引用ckeditor,并将其保留在Edit.cshtml上。
在form标记中,我放置了以下代码行来显示编辑器,并在编辑器中显示来自数据库的数据
<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.replace(“主体”);
我可以将数据从数据库显示到编辑器。但当我试图在编辑器中更改文本时,数据库中不会出现任何文本
因此,在不使用编辑器的情况下测试了代码,也就是说,我只是使用了标记而不是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();
}
[HttpPost]
[ValidateAntiForgeryToken]
公共异步任务编辑(MyObject模型)
{
if(ModelState.IsValid)
{
wait_myObjectRepository.UpdateMsg(新MyObject
{
ckeditorVar=Request.Form[“editor1”].ToString(),
});
返回操作(“索引”);
}
返回视图();
}
谢谢David的回答。此方法使用html标记保存内容。我们可以在存储到数据库时删除html标记吗?