C# ASP.net render HTML String

I have a bit of code in my markup like this :

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

The value in objRow[“Post”] is HTML markup – similar to this:
<p><span style="color: #ff0000;">asdsada</span></p>

The content of which was created using tinymce. I now want to render the resultant html – basically a view function of a previously created save function.

At the moment, my markup literally spits out the HTML you see there onto my website – but what I really want is a red line of text saying asdsada.

Please help

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

it sounds like the value you are trying to display is already html encoded. try this:

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

Method 2

My version of Asp.net is little bit higher, but this might help someone, who uses .net Core 2.0 MVC.

I am using the following approach for rendering html in my Asp.Net Core 2.0 MVC project (the html is created via Tiny MCE and saved in the database, after that it is rendered on the Razor View).

Please, try these two steps:

1) include System.Net in _ViewImports.cshtml:

@using System.Net
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

2) render the html using HtmlDecode in your View.cshtml:
@Html.Raw(@WebUtility.HtmlDecode(Model.MyHtmlData))

This works for me, hope it helps!

But without HtmlDecode, Html.Raw displayed MyHtmlData with html tags (didn’t render html, just displayed it). I guess, that is because the data was HTML encoded already, as Zdravko Danev mentioned:

@Html.Raw(Model.MyHtmlData)

Method 3

You can use literal control in asp.net to display the text and it will render it accordingly.

literal1.text = htmlcodeuwanttodisplay

Method 4

Did you try something like

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


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x