Is there an equivalent for MvcHtmlString in ASP.NET 5 ? Otherwise, how can we render HTML output from my custom HTMLHelper method properly ?
2 Answers
There is no longer need for MvcHtmlString
(which added on top of HtmlString
for compatibility reasons) so you can simply use Microsoft.AspNet.Mvc.Rendering.HtmlString
.
As you can easily notice, the ViewComponents and Helpers of Asp.Net 5 are also using (by returning) the same HtmlString
to the views.
Update (for ASP.NET Core 3.1):
You need to use Microsoft.AspNetCore.Html.HtmlString
instead.

- 48,394
- 7
- 105
- 133
-
what is the equivalent part of MVCHtmlString.Create() in Core 3.1 – Karthic G Nov 05 '20 at 14:19
-
1@KarthicG, `new Microsoft.AspNetCore.Html.HtmlString(...)`? – haim770 Nov 05 '20 at 14:31
-
Thanks @haim770 ,it is working fine in cs file but i have a doubt in View page.In Htmlpage==>@Html.Raw instead of MVCHtml.Create().Is that right? – Karthic G Nov 05 '20 at 15:01
-
@KarthicG, Yes. – haim770 Nov 05 '20 at 15:58
-
For ASP.NET Core 5, sometimes using/returning `IHtmlContent` (which is implemented by `HtmlString`) could be sufficient. – Uwe Keim Aug 18 '21 at 16:09
Asp .Net Core (v.5) replaced MvcHtmlString
for a new HtmlString
type. Don't confuse this with the HtmlString type that is a part of the System.Web namespace introduced in .NET 4.0 (MvcHtmlString
inherits from this type).
NOTE: After April 28, 2016 the HtmlString
type was moved to the Microsoft.AspNetCore.Html.Abstractions
package. Remember to include this in your project.json in the dependencies node.
Additionally, you need to declare the using directive
using Microsoft.AspNetCore.Html;
or declare it by its fully qualified name:
Microsoft.AspNetCore.Html.HtmlString
If you want more information on the HtmlString type look at the HtmlAbstractions package source code located here

- 11,507
- 3
- 43
- 82

- 1,453
- 12
- 19
-
4
-
For ASP.NET Core 5, sometimes using/returning `IHtmlContent` (which is implemented by `HtmlString`) instead of `HtmlString` could be sufficient. – Uwe Keim Aug 18 '21 at 16:09