1

我正在使用 CKEditor ASP.NET MVC,但是有一个非常奇怪的问题:如果我格式化一些文本(例如应用粗体,使其斜体,或制作一个列表),当出现一些错误并且内容必须回发到 textarea 时,它显示为 HTML 文本 - “ul li” 等等,而不是再次设置样式(粗体、斜体等)。

我在配置中应用了一些选项:

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.HtmlDecodeHttpUtility.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 个属性 - 文本。

4

1 回答 1

-1

你可以试试这个

@foreach (var item in Model)
{
    <tr>

        <td>
            @Html.DisplayFor(modelItem => item.Title)
        </td>
        <td>
           @{
    string description = Server.HtmlDecode(item.Description);
           }
            @Html.Raw(description)

        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Note)
        </td>
        <td>
            <img src="~/img/Uploads/@item.Pic" width="150" height="120" />
        </td>

    </tr>
}
于 2015-11-02T08:50:52.803 回答