gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 06:24:23 26 4
gpt4 key购买 nike

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

在 Ruby on Rails 中,我使用 "link _ to _ unless _ current"方法来做到这一点。

如何在 ASP.NET MVC 中复制此行为?我能想到的最好方法是在我的 Controller 中设置一个 bool 值来指示应该隐藏链接(因为它是当前的)。与 Rails 方法相比,这似乎很尴尬,所以我想我一定遗漏了一些东西。

最佳答案

我不知道 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") %>

关于ruby-on-rails - ASP.NET MVC 版本的 Ruby on Rails "link_to_unless_current",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/452763/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com