如何使用CSS样式化ASP.NET菜单

24

我正在为一个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在幕后做出哪些假设,这是不正确的。


对我来说它运行良好(使用更简单的示例 - 例如,我的菜单没有数据绑定)。您能否发布相关的CSS类以及一些呈现的HTML? - Jeff Sternal
在标记中查找一些设置悬停样式的Javascript代码。在使用表格的原始布局中,只有在单击菜单选项之一并且菜单执行回发后才会应用所选样式。 - Harv
4
不行,没有帮助。无论如何我的课程都没有被设置。看起来像是一个错误。 - md1337
11个回答

-1

4
谢谢您的关注,但这并没有对手头的问题有任何帮助... - md1337

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接