我正在为一个asp.net菜单设置样式,我试图理解StaticSelectedStyle-CssClass和StaticHoverStyle-CssClass参数的含义。
据我了解,使用这些参数定义的样式会在需要时作为CSS类应用于相关元素。因此,我按照以下方式创建了我的菜单:
<asp:Menu ID="NavigationMenu" DataSourceID="NavigationSiteMapDataSource"
StaticMenuStyle-CssClass="StaticMenuStyle"
StaticMenuItemStyle-CssClass="StaticMenuItemStyle"
StaticSelectedStyle-CssClass="StaticSelectedStyle"
StaticHoverStyle-CssClass="StaticHoverStyle"
Orientation="Horizontal"
MaximumDynamicDisplayLevels="0"
runat="server">
</asp:Menu>
对于StaticMenuStyle-CssClass和StaticMenuStyle-CssClass它是有效的(这些类应用于相关元素),但是不管元素选择或悬停状态如何,StaticSelectedStyle-CssClass和StaticHoverStyle-CssClass都不会被应用。
我应该做什么才能使它起作用?
谢谢。
编辑:抱歉我应该提到这是.NET 4。以下是生成的HTML代码:
<div id="NavigationMenu">
<ul class="level1 StaticMenuStyle">
<li><a class="level1 StaticMenuItemStyle selected" href="/Link.aspx">Link</a></li>
</ul>
</div>
正如你所看到的,应用了StaticMenuStyle和StaticMenuItemStyle,但没有应用StaticSelectedStyle-CssClass或StaticHoverStyle-CssClass。不确定为什么。我知道我可以使用selected,但是预期的行为难道不是应用StaticSelectedStyle-CssClass吗?通过使用selected,我会对.NET在幕后做出哪些假设,这是不正确的。