C#ASP.net呈现HTML字符串
我的标记中有一些代码如下:C#ASP.net呈现HTML字符串,c#,html,asp.net,rendering,C#,Html,Asp.net,Rendering,我的标记中有一些代码如下: <% Response.Write(((String)objRow["Post"]).Trim()); %> objRow[“Post”]中的值是HTML标记-类似于此: <p><span style="color: #ff0000;">asdsada</span></p> asdsada 其内容是使用tinymce创建的。现在我想呈现生成的html—基本上是以前创建的保存函数的视图函数 目前,我的
<% Response.Write(((String)objRow["Post"]).Trim()); %>
objRow[“Post”]中的值是HTML标记-类似于此:
<p><span style="color: #ff0000;">asdsada</span></p>
asdsada
其内容是使用tinymce创建的。现在我想呈现生成的html—基本上是以前创建的保存函数的视图函数
目前,我的标记会将你在我的网站上看到的HTML逐字逐句地显示出来,但我真正想要的是一条红线,上面写着asdsada
请帮助听起来您试图显示的值已经是html编码的。试试这个:
<%= HttpUtility.HtmlDecode((string)objRow["Post"]) %>
您可以在asp.net中使用文本控件来显示文本,它将相应地呈现文本
literal1.text = htmlcodeuwanttodisplay
你试过类似的东西吗
Server.HtmlEncode("<p><span style='color: #ff0000;'>asdsada</span></p>");
Server.HtmlEncode(asdsada);
我的Asp.net版本稍微高一点,但这可能对使用.net Core 2.0 MVC的人有所帮助
在我的Asp.Net Core 2.0 MVC项目中,我使用以下方法呈现html(html通过Tiny MCE创建并保存在数据库中,然后在Razor视图中呈现)
请尝试以下两个步骤:
1) 将System.Net包含在_ViewImports.cshtml中:
2) 在视图中使用HtmlDecode呈现html。cshtml:
这对我有用,希望对我有帮助
但是如果没有Html代码,Html.Raw会显示带有Html标记的MyHtmlData(没有呈现Html,只是显示它)。我猜,这是因为数据已经是HTML编码的,正如Zdravko Danev提到的:
@Html.Raw(Model.MyHtmlData)
请检查你的答案,然后再贴在这里。这不能解决问题。HtmlCode是答案。这会引发以下错误:CS1502:与“System.Web.HttpUtility.HtmlCode(字符串)”匹配的最佳重载方法具有一些无效参数将强制转换为字符串
@Html.Raw(@WebUtility.HtmlDecode(Model.MyHtmlData))
@Html.Raw(Model.MyHtmlData)