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