如何在@ Html.TextBox asp .Net MVC中呈现html代码?

时间:2016-06-21 09:25:33

标签: c# asp.net-mvc tinymce

您好我正在创建MVC应用程序并且我正在使用tinyMCE。有时候我需要用简单的TextBox字段来改变tinyMCE。我用hide和show来尝试这个。在乞讨时我正在显示TextArea并隐藏TextBox,但是当用户点击将tinyMCE转换为简单的textBox字段时,我隐藏了textArea并显示了TextBox。 这是我的tinyMCE字段

  @Html.TextAreaFor(model => model.supTitle, new { htmlAttributes = new { @class = "form-control" } })

这是简单的TextBox

 @Html.TextBoxFor(model => model.supTitle, new { htmlAttributes = new { @class = "form-control" } })

但是当我使用TextBoxFor时,我有类似的东西

<p> some text</p>

但我希望只显示some text而不显示<p>标记。 此外,当我保存更改时,只有来自TextArea的更改会保存到数据库中。

2 个答案:

答案 0 :(得分:0)

如果存储在model.supTitle属性中的值包含Html作为字符串,则必须在将值呈现为标准input[type=text]之前解析html。

只有第一个值被持久化到数据库,因为两个表单元素具有相同的名称,当发布表单时,两个值都将在Http Post中发送,但MVC模型绑定只会将第一个表单值映射到模型(在这种情况下是文本区域)。

隐藏&amp;显示一个html元素不会阻止元素的值在表单帖子中发布,您需要完全从DOM中删除该元素或更改元素名称,以便它不受模型绑定器的约束。

答案 1 :(得分:0)

尝试在您的视图中使用此功能

@Html.Raw(Model.YourTinyMCEContent);