C# 如何在MVC中从ViewPage对Razor布局进行微小更改?
我想向ul.li导航项添加一个名为“.current”的类。所有导航项都位于_layout.cshtml中,我不知道指定“.current”类的最佳方式是什么 下面是我想要的导航()的图片: 请注意,每当用户处于公司->概览或公司->设置时;我基本上希望将“.current”类添加到名为“Company”的其父ul.li项中。这将在剖面的右侧添加视觉提示(白色三角形) 因此, ,帮不了我什么忙C# 如何在MVC中从ViewPage对Razor布局进行微小更改?,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我想向ul.li导航项添加一个名为“.current”的类。所有导航项都位于_layout.cshtml中,我不知道指定“.current”类的最佳方式是什么 下面是我想要的导航()的图片: 请注意,每当用户处于公司->概览或公司->设置时;我基本上希望将“.current”类添加到名为“Company”的其父ul.li项中。这将在剖面的右侧添加视觉提示(白色三角形) 因此, ,帮不了我什么忙 感谢您的帮助,谢谢 您可以使用JQuery处理此问题: $(".current").removeCl
感谢您的帮助,谢谢 您可以使用JQuery处理此问题:
$(".current").removeClass("current");
$("#someID").addClass("current");
第一行将从任何已有的类中删除“current”类。第二行将“current”类分配给具有指定id的元素。您可以根据URL进行此操作,如下所示:
public static IHtmlString MenuLink(this HtmlHelper htmlHelper, string text, string url)
{
var link = new TagBuilder("a");
link.Attributes.Add("href", url);
string currentUrl = HttpContext.Current.Request.RawUrl;
if (string.Equals(url, currentUrl, StringComparison.OrdinalIgnoreCase))
{
link.AddCssClass("current");
}
link.InnerHtml = text;
return new HtmlString(link.ToString());
}
您可以这样使用它:
@Html.MenuLink("About", "/home/about")
@Html.MenuLink("Contact", Url.Action("Contact", "Home"))
这些页面是动态的还是每个页面都有视图?