我的标记中有一些代码如下:
<% Response.Write(((String)objRow["Post"]).Trim()); %>
objRow [“Post”]中的值是HTML标记 - 类似于:
<p><span style="color: #ff0000;">asdsada</span></p>
其内容是使用tinymce创建的。我现在想要渲染结果html - 基本上是先前创建的保存函数的视图函数。
目前,我的标记字面上将您在那里看到的HTML吐出到我的网站上 - 但我真正想要的是一条红色的文字说asdsada。
请帮忙
答案 0 :(得分:7)
听起来您尝试显示的值已经是html编码的。试试这个:
<%= HttpUtility.HtmlDecode((string)objRow["Post"]) %>
答案 1 :(得分:0)
您可以在asp.net中使用文字控件来显示文本,并相应地进行渲染。
literal1.text = htmlcodeuwanttodisplay
答案 2 :(得分:0)
我的Asp.net版本略高一点,但这可能对使用.net Core 2.0 MVC的人有所帮助。
我正在使用以下方法在我的 Asp.Net Core 2.0 MVC 项目中呈现html(html是通过 Tiny MCE 创建的并保存在数据库中,然后在Razor View上渲染。
请尝试以下两个步骤:
1)在 _ViewImports.cshtml 中包含 System.Net :
@using System.Net
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
2)使用 View.cshtml 中的 HtmlDecode 渲染html:
@Html.Raw(@WebUtility.HtmlDecode(Model.MyHtmlData))
这对我有用,希望有所帮助!
但是没有 HtmlDecode , Html.Raw 显示带有html标签的 MyHtmlData (没有呈现html,只显示它)。我想,那是因为数据已经是HTML编码的,正如Zdravko Danev所说:
@Html.Raw(Model.MyHtmlData)
答案 3 :(得分:-3)
你有没有试过像
这样的东西Server.HtmlEncode("<p><span style='color: #ff0000;'>asdsada</span></p>");