Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Equivalent for MvcHtmlString in ASP.NET 5?

Is there an equivalent for MvcHtmlString in ASP.NET 5 ? Otherwise, how can we render HTML output from my custom HTMLHelper method properly ?

like image 337
Christophe Gigax Avatar asked Apr 13 '15 09:04

Christophe Gigax


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.

like image 148
haim770 Avatar answered Oct 17 '22 06:10

haim770


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

like image 41
IsakBosman Avatar answered Oct 17 '22 05:10

IsakBosman