J’essaie de porter ce code sur mvc 6, toute aide est appréciée, le code est compilé mais la méthode n’est pas disponible selon moi sur @Html.IsActive
.
using Microsoft.AspNet.Mvc.Rendering; namespace Blah.Web.Helpers { public static class HtmlHelpers { public static ssortingng IsActive(this HtmlHelper htmlHelper, ssortingng controller, ssortingng action) { var routeData = htmlHelper.ViewContext.RouteData; var routeAction = routeData.Values["action"].ToSsortingng(); var routeController = routeData.Values["controller"].ToSsortingng(); var returnActive = (controller == routeController && action == routeAction); return returnActive ? "active" : ""; } } }
Dans la vue, l’espace de noms est référencé:
@using Blah.Web.Helpers;
Dans la signature de la méthode, HtmlHelper
doit être IHtmlHelper
Voir exemple ci-dessous
namespace Blah.Web.Helpers { public static class HtmlHelpers { public static ssortingng IsActive(this IHtmlHelper htmlHelper, ssortingng controller, ssortingng action) { var routeData = htmlHelper.ViewContext.RouteData; var routeAction = routeData.Values["action"].ToSsortingng(); var routeController = routeData.Values["controller"].ToSsortingng(); return (controller == routeController && action == routeAction) ? "active" : ""; } } }