当前位置:  开发笔记 > 后端 > 正文

Ruby on Rails的ASP.NET MVC版本"link_to_unless_current"

如何解决《RubyonRails的ASP.NETMVC版本"link_to_unless_current"》经验,为你挑选了1个好方法。

我想在我的SiteMaster中包含一个链接(使用Html.ActionLink)除非我链接到的视图是当前视图.例如,当用户已经看到"注册"视图时,没有意义显示"注册"链接.

在Ruby on Rails中,我使用"link _to _unless _current"方法来执行此操作.

如何在ASP.NET MVC中复制此行为?我能想到的最好的是在我的控制器中设置一个布尔值来指示链接应该被隐藏(因为它是当前的).与Rails方法相比,这看起来真的很尴尬,所以我想我必须遗漏一些东西.



1> Darin Dimitr..:

我不知道ASP.NET MVC中有这样的帮助方法,但它应该很容易推出自己的方法:

public static class HtmlExtensions
{
    public static string ActionLinkUnlessCurrent(this HtmlHelper htmlHelper, string linkText, string actionName)
    {
        string currentAction = htmlHelper.ViewContext.RouteData.Values["action"].ToString();
        if (actionName != currentAction)
        {
            return htmlHelper.ActionLink(linkText, actionName);
        }
        return linkText;
    }
}

然后像这样使用它:

<%= Html.ActionLinkUnlessCurrent("Link Text", "Index") %>

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有