[英]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.