我遇到了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)
%>
希望这种解释是有道理的,有人可以帮助阐明这一点吗?我真的很困惑如何正常工作。
答案 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
}