【问题标题】:How to render HTML tags in Html.EditorFor in mvc 4 razor如何在 mvc 4 razor 中的 Html.EditorFor 中呈现 HTML 标签
【发布时间】:2014-10-15 15:24:57
【问题描述】:

我的班级中有一个名为 Description 的属性。 像这样的东西我很有价值

Object.Description = "<b>Hello</b>";

现在我正在使用 Html.EditorFor 在视图页面中显示此内容

@Html.EditorFor(x => x.Object.Description);

这会将文本显示为"&lt;b&gt;Hello&lt;/b&gt;",而不是以粗体显示“Hello”。 即它不呈现 HTML 标签。

我知道我可以像这样渲染 HTML 标签

@Html.Raw(HttpUtility.HtmlDecode(Object.Description));

但是如何将它与 EditorFor HTML 助手一起使用,以便我可以在 textarea 中显示所有呈现的内容?

注意:我使用http://jqueryte.com/ 来显示 textarea 的编辑器。

【问题讨论】:

  • 我无法重现您的错误;(适用于我的解决方案 [link]onedrive.live.com/…
  • 可能是我错过了 [DataType(DataType.MultilineText)] 注释

标签: c# html asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

Textareas 不呈现 HTML 或接受任何内容样式。它们对所有 HTML 字符进行编码。您需要使用插件通过 CSS 技巧使您的 textarea 显示为粗体文本。

【讨论】:

  • 在这种情况下,您需要创建一个自定义 HTML 编辑器模板部分视图,该视图在您的 Description 上调用 jqueryte
【解决方案2】:

在我的情况下 html.editorfor 并在其他页面上显示内容:

@Html.Raw(HttpUtility.HtmlDecode(abouts[0].Description))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 2019-01-09
    • 2013-07-06
    • 1970-01-01
    相关资源
    最近更新 更多