繁体   English   中英

C#ASP.net呈现HTML字符串

[英]C# ASP.net render HTML String

我的标记中有一些这样的代码:

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

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

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

其内容是使用tinymce创建的。 现在,我想呈现生成的html-基本上是先前创建的保存功能的视图功能。

此刻,我的标记实际上是将您在那里看到的HTML吐出到我的网站上-但我真正想要的是一条红线,上面写着asdsada。

请帮忙

听起来您要显示的值已经经过html编码。 尝试这个:

<%= HttpUtility.HtmlDecode((string)objRow["Post"]) %>

我的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)

您可以在asp.net中使用文字控件来显示文本,它将相应地呈现文本。

literal1.text = htmlcodeuwanttodisplay

你尝试过类似的东西吗

Server.HtmlEncode("<p><span style='color: #ff0000;'>asdsada</span></p>");      

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM