加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:11:25 所属栏目:asp.Net 来源:网络整理
导读:我一直在试图找到一个突出显示asp.net菜单当前所选菜单项的简单方法(所以用户知道他们所在的页面),但无论我尝试了什么都无法让它工作.在我的标记我有: asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleB
我一直在试图找到一个突出显示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;

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

解决方法

您可以在菜单中使用StaticSelectedStyle属性.
<asp:menu [...]>
        <staticselectedstyle backcolor="LightBlue"
          borderstyle="Solid"
          bordercolor="Black"
          borderwidth="1"/>

        [...]
</asp:menu>

见here for more info.

此外,如果有一个类应用于所选项目(我不知道是否有但是会很方便),你可以简单地用你的CSS挂钩.这将比使用StaticSelectedStyle属性更好一些.

UPDATE

值得注意的是,您使用IncludeStyleBlock =“false”将会阻止您的菜单生成控制所选项所需的CSS.

关闭样式块,您必须提供自己的样式,并且不会使用菜单的自动生成样式.

从MSDN:

If you set this property to false,you cannot set style properties.
For example,you cannot add a DynamicHoverStyle-ForeColor attribute in
markup or set the DynamicHoverStyle.ForeColor property in code.

资料来源:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.menu.includestyleblock.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读