您好我正在创建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的更改会保存到数据库中。
答案 0 :(得分:0)
如果存储在model.supTitle
属性中的值包含Html作为字符串,则必须在将值呈现为标准input[type=text]
之前解析html。
只有第一个值被持久化到数据库,因为两个表单元素具有相同的名称,当发布表单时,两个值都将在Http Post中发送,但MVC模型绑定只会将第一个表单值映射到模型(在这种情况下是文本区域)。
隐藏&amp;显示一个html元素不会阻止元素的值在表单帖子中发布,您需要完全从DOM中删除该元素或更改元素名称,以便它不受模型绑定器的约束。
答案 1 :(得分:0)
尝试在您的视图中使用此功能
@Html.Raw(Model.YourTinyMCEContent);