C#ASP.net呈现HTML字符串

时间:2014-07-09 02:49:30

标签: c# html asp.net rendering

我的标记中有一些代码如下:

<% Response.Write(((String)objRow["Post"]).Trim()); %>

objRow [“Post”]中的值是HTML标记 - 类似于:

<p><span style="color: #ff0000;">asdsada</span></p>

其内容是使用tinymce创建的。我现在想要渲染结果html - 基本上是先前创建的保存函数的视图函数。

目前,我的标记字面上将您在那里看到的HTML吐出到我的网站上 - 但我真正想要的是一条红色的文字说asdsada。

请帮忙

4 个答案:

答案 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>");