如何使用CSS设置asp.net菜单的样式

我正在设置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。

我应该怎么做才能完成这项工作?

谢谢。

编辑:抱歉,我应该提到这是.NET4。这是生成的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在幕后所做的事情进行了假设,这是不对的。

回答:

好的,因此到目前为止,显然没有很多人尝试过.NET

4菜单。最终版本是几天前发布的,这并不奇怪。我似乎是第一个报告似乎是错误的人。如果有时间,我会向MS报告此情况,但是鉴于MS一直以来不关注错误报告的记录,因此我不急于这样做。

无论如何,这时最差的解决方案是将控件生成的CSS样式(检查标题)复制并粘贴到自己的样式表中,然后从那里进行修改。完成此操作后,不要忘记在菜单上设置IncludeStyleBlock

=“

False”,以防止自动生成CSS,因为从现在开始我们将使用复制的块。从概念上讲,这是不正确的,因为您的应用程序不应依赖自动生成的代码,但这是我能想到的唯一选择。

以上是 如何使用CSS设置asp.net菜单的样式 的全部内容, 来源链接: utcz.com/qa/427279.html

回到顶部