在ASP.NET MVC Core 5中,可以使用视图引擎中的部分视图(Partial View)来实现_layout菜单项根据子页面更改链接的功能。
首先,在_layout视图中添加以下代码:
@RenderBody()
然后,在每个子视图中,添加以下代码来标记当前页面的链接:
@section MenuActive {
}
这里以Products页面为例,ID为“menu-products”的链接会被标记为活动链接。
接着,在_layout视图中修改每个链接的href属性为:
Home
Contact Us
Products
其中,MenuIsActive是一个帮助器方法,代码如下:
@helper MenuIsActive(string url) {
if(ViewBag.ActiveUrl == url) {
@Html.Raw("active")
}
}
最后,在Layout及其子视图中设置ViewBag.ActiveUrl的值,该值将用于在Layout视图中动态设置活动链接的样式。例如:
@section MenuActive {
@{
ViewBag.ActiveUrl = "/Products";
}
}
这将把活动链接的样式类设置为“active”。您可以根据需要更改样式类的名称。
通过这些步骤,您就可以在ASP.NET MVC Core 5中实现_layout菜单项根据子页面更改链接
上一篇:ASP.NETMVCCore3.1中,修改后的JavaScript文件在移动设备上未加载。
下一篇:ASP.NETMVCCore6中使用VS2022的User.FindFirstValue(ClaimTypes.Email)返回Null