ASP.NET MVC 2 Telerik编辑器不显示格式化文本

时间:2011-04-13 07:53:10

标签: asp.net-mvc-2 editor telerik telerik-mvc

我遇到了Telerik MVC编辑器控件的问题,它允许我输入数据,正确格式化(粗体等)并将其保存到数据库中。当我在浏览器中查看数据时,它会显示为我所期望的(在所有浏览器中)。

当我尝试在编辑器中再次编辑文本时,它不会正确显示格式,但会显示文本周围的HTML标记,即工作,与格式化文本相对工作

当我第二次将数据保存到数据库并再次查看时,数据将以以下格式显示:< strong>工作说明< / strong>

这是我用来显示文本编辑器的代码:

<% Html.Telerik().Editor()
    .Name("Description")
    .Value(Model.Description)
    .Render();
%>

// Code to the populate the model before saving to the database: There is no endcode or decode instruction here
article.Description = collection["Description"];
// Save changes.

要在浏览器中显示代码,请使用以下代码:

<%=
    HttpUtility.HtmlDecode(Model.Description)
%>

希望这种解释是有道理的,有人可以帮助阐明这一点吗?我真的很困惑如何正常工作。

2 个答案:

答案 0 :(得分:2)

我正在使用ASP.NET MVC 3和Telrik控件,我使用下面的代码,它运行正常。

对于创建编辑器 - 在视图页面

 @{ Html.BeginForm(); }
            @Html.Telerik().EditorFor(model => model.Body).HtmlAttributes(new { style = "height:200px; width:500px;" })
            @Html.ValidationMessageFor(model => model.Body)

@{ Html.EndForm(); }
控制器中的

 public ViewResult Details(int id)
        {
            ArticleModels articlemodels = db.ArticleModels.Find(id);
            articlemodels.Body = HttpUtility.HtmlDecode(articlemodels.Body);
            return View(articlemodels);
        }

适用于视图编辑

@Html.Telerik().EditorFor(model => model.Body).HtmlAttributes(new { style = "height:200px; width:500px;" })

答案 1 :(得分:0)

我让它为我工作,希望它对你有用。 在我看来,我使用这段代码:

<%: Html.Telerik().EditorFor(model => model.Description).Name("ContentEditor")%>

然后在控制器中,我将值传递给模型外部(因为Model.Description属性总是为null,我不知道为什么),就像那样:

[HttpPost]
public ActionResult Detail(MyModel myModel, string contentEditor)
{
    myModel.Description = HttpUtility.HtmlDecode(contentEditor);
    // Do stuff & save to DB
}