HtmlHelpers in MVC 6

I am trying to pass this code to mvc 6, any help is appreciated, compiling the code, but the method is not available in my views on @Html.IsActive .

 using Microsoft.AspNet.Mvc.Rendering; namespace Blah.Web.Helpers { public static class HtmlHelpers { public static string IsActive(this HtmlHelper htmlHelper, string controller, string action) { var routeData = htmlHelper.ViewContext.RouteData; var routeAction = routeData.Values["action"].ToString(); var routeController = routeData.Values["controller"].ToString(); var returnActive = (controller == routeController && action == routeAction); return returnActive ? "active" : ""; } } } 

In the view, I reference the namespace:

 @using Blah.Web.Helpers; 
+8
c # asp.net-core asp.net-core-mvc
Dec 02 '14 at 19:14
source share
1 answer

The signature of the HtmlHelper method must be IHtmlHelper

See example below.

 namespace Blah.Web.Helpers { public static class HtmlHelpers { public static string IsActive(this IHtmlHelper htmlHelper, string controller, string action) { var routeData = htmlHelper.ViewContext.RouteData; var routeAction = routeData.Values["action"].ToString(); var routeController = routeData.Values["controller"].ToString(); return (controller == routeController && action == routeAction) ? "active" : ""; } } } 
+18
Dec 02 '14 at 19:41
source share



All Articles