Я использую CKEditor вместе с ASP.NET MVC
, но есть очень странная проблема: если я отформатирую некоторый текст (например, примените смелость, сделайте это курсивом или создайте список), когда есть некоторая ошибка, и содержимое должно быть отправлено обратно в текстовое поле, оно отображается как текст HTML - «ul li» и т. д. вместо того, чтобы снова стилизоваться (жирный, курсив и т. д.).Проблема с CKEditor при отображении вывода
Я применил некоторые опции в конфигурации:
config.htmlEncodeOutput = true; // to avoid text being interpreted as attack
config.enterMode = CKEDITOR.ENTER_BR; // in order not to place tags arround the text
config.basicEntities = false; // do display spaces as they are instead of and so on...
Я попробовал некоторые встроенные функции в MVC
как Server.HtmlDecode
и HttpUtility.Decode
, но ничего не похоже на работу. Также принимаются решения с другими редакторами, которые отлично работают с MVC
.
Вот файл .cshmtl:
@{
ViewBag.Title = "CkEditor";
}
@model HtmlTextEditorsDemos.Models.SimpleModel
<h2>CkEditor</h2>
<script src="~/Scripts/ckeditor.js"></script>
@using (Html.BeginForm())
{
@Html.TextAreaFor(x => x.Text, new { @class = "ckeditor" })
<input type="submit" value="send" />
}
В методе действий я ничего не делать, но вернуть данные снова только для целей тестирования:
[HttpPost]
public ActionResult Index(SimpleModel model)
{
//model.Text = Server.HtmlDecode(model.Text);
return View(model);
}
Класс SimpleModel просто тест класс модели с только 1 свойством - текст.
Пожалуйста, включите код, как вы заселять эту область текста. Скорее всего, вам понадобится что-то вроде «Html.Raw». – MikeSmithDev
См. Мой обновленный пост. –
Да, Html.Raw выполнит работу (но только если она должна отображаться в элементе div или абзаце или другом подобном элементе), но проблема в том, что значение в текстовом поле не может быть IHtmlString, оно может быть только строковое значение. Я пробовал Html.Raw (Model.Text) .ToHtmlString(), но напрасно. –