Html 如何在C#中突出显示动态加载的菜单项?

Html 如何在C#中突出显示动态加载的菜单项?,html,asp.net,menu,master-pages,Html,Asp.net,Menu,Master Pages,我一直试图找到一种简单的方法来突出显示asp.net菜单中当前选定的菜单项(以便用户知道他们在哪个页面上),但无论我尝试了什么,我都无法让它工作。在我的标记中,我有: <asp:Menu SkinID="modulesMenu" DataSourceID="modulesSource" runat="server" ID="ModulesMenu" OnMenuItemDataBound="ModulesMenu_MenuItemDataBound"> <StaticItem

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

<asp:Menu SkinID="modulesMenu" DataSourceID="modulesSource" runat="server"  ID="ModulesMenu"
OnMenuItemDataBound="ModulesMenu_MenuItemDataBound">
<StaticItemTemplate>
   <div>
       <asp:HyperLink ID="HyperLink2" CssClass="moduleName" 
       NavigateUrl='<%# ((MenuItem)Container.DataItem).NavigateUrl %>'  
       Text='<%# ((MenuItem)Container.DataItem).Text %>' runat="server" />
   </div>
</StaticItemTemplate>
<DynamicSelectedStyle ForeColor="Red" Font-Bold="true" />
</asp:Menu>

我可以给你一个主意。在
模块菜单中,通过以下代码比较
项目url
和请求的物理文件

  Path.GetFileName(Request.PhysicalPath).ToUpper()
您可以使用“可以比较两者”并使用“比较”设置所选css类,如下所示

lstrMenuUrl.ToUpper().Replace(" ", "").Contains(filename.ToUpper())
其中,
lstrMenuUrl
是单击的当前菜单

这里有一个链接可以帮助你


我错误地设置了属性。要设置的属性为

 <Staticselectedstyle ForeColor="Red" Font-Bold="true"    />

而不是

<DynamicSelectedStyle ForeColor="Red" Font-Bold="true" />

<DynamicSelectedStyle ForeColor="Red" Font-Bold="true" />