簡體   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