Is there an equivalent for MvcHtmlString in ASP.NET 5 ? Otherwise, how can we render HTML output from my custom HTMLHelper method properly ?
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
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.