在MVC 6 HtmlHelpers [英] HtmlHelpers in MVC 6

查看:129
本文介绍了在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆