MVC 6中的HtmlHelpers

我正在尝试将此代码移植到mvc 6,感谢任何帮助,代码编译但该方法在我对@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" : ""; } } } 

在视图中我引用了命名空间:

 @using Blah.Web.Helpers; 

在方法签名中, HtmlHelper应该是IHtmlHelper

见下面的例子

 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" : ""; } } }