gpt4 book ai didi

ASP.NET:突出显示当前页面的菜单项

转载 作者:行者123 更新时间:2023-12-03 13:54:25 25 4
gpt4 key购买 nike

我一直在尝试找到一种简单的方法来突出显示 asp.net 菜单的当前选定菜单项(以便用户知道他们在哪个页面上),但无论我尝试了什么,我都无法让它工作.在我的标记中,我有:

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal" StaticSelectedStyle-ForeColor="#99CCFF" DynamicSelectedStyle-ForeColor="#99CCFF">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Operations"/>
<asp:MenuItem NavigateUrl="~/Analysis.aspx" Text="Analysis"/>
<asp:MenuItem NavigateUrl="~/Dashboard.aspx" Text="Dashboard"/>
<asp:MenuItem NavigateUrl="~/Flashboard.aspx" Text="Flashboard"/>
<asp:MenuItem NavigateUrl="~/Spacequest.aspx" Text="SQ OBP"/>
</Items>
</asp:Menu>

而在服务器端的 Page_Load 函数中:
((Menu)Master.FindControl("NavigationMenu")).Items[0].Selected = true;

但这不起作用。我尝试使用站点地图(即使站点地图不是我想要使用的),但也没有用。有任何想法吗?

最佳答案

我认为您必须遍历菜单项并查看当前页面 URL 是否包含菜单项的 NavigateUrl。

foreach (MenuItem item in mn.Items)
{
if (Request.Url.AbsoluteUri.ToLower().Contains(Page.ResolveUrl(item.NavigateUrl.ToLower()))
{
item.Selected = true;
}
}

关于ASP.NET:突出显示当前页面的菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7067944/

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