在MVC 6 HtmlHelpers [英] HtmlHelpers in MVC 6
本文介绍了在MVC 6 HtmlHelpers的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想这个端口的代码到MVC 6,任何帮助表示赞赏,代码编译,但该方法是在我的 @ Html.IsActive
。
使用Microsoft.AspNet.Mvc.Rendering;
命名空间Blah.Web.Helpers
{
公共静态类HtmlHelpers
{
公共静态字符串IsActive(此的HtmlHelper的HtmlHelper,串控制器,串动)
{
变种的RouteData = htmlHelper.ViewContext.RouteData;
VAR routeAction = routeData.Values [行动]的ToString();
VAR routeController = routeData.Values [控制器]的ToString();
VAR returnActive =(控制器== routeController&放大器;&安培;行动== routeAction);
返回returnActive? 活性:;
}
}
}
在查看我的命名空间引用:
@using Blah.Web.Helpers;
解决方案
在方法签名,的HtmlHelper应IHtmlHelper
请参阅下文
命名空间Blah.Web.Helpers
{
公共静态类HtmlHelpers
{
公共静态字符串IsActive(这IHtmlHelper的HtmlHelper,串控制器,串动作)
{
变种的RouteData =的HtmlHelper .ViewContext.RouteData;
VAR routeAction = routeData.Values [行动]的ToString();
VAR routeController = routeData.Values [控制器]的ToString();
VAR returnActive =(控制器== routeController&放大器;&安培;行动== routeAction);
返回returnActive? 活性:;
}
}
}
I'm trying to port this code over to mvc 6, any help is appreciated, the code compiles 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 have the namespace referenced:
@using Blah.Web.Helpers;
解决方案
In the method signature, HtmlHelper should 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();
var returnActive = (controller == routeController && action == routeAction);
return returnActive ? "active" : "";
}
}
}
这篇关于在MVC 6 HtmlHelpers的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文