我有一个小型 ASP.NET 应用程序(.NET Framework 4),我需要构建一个网站菜单,其中包含具有不同样式的不同项目。像这样的东西:
- 条目 1 --> css 类“第一”;
- 条目 2 --> css 类“第二”;
- 条目 3 --> css 类“第三”;
它们基本相同,唯一的区别是悬停的颜色。在幕后,ASP.NET 总是生成一个像这样的 html 链接:
我的问题是 - 我可以更改菜单中每个条目的主链接的类吗?
我已经尝试过这样的事情:
<div class="topNav">
<asp:Menu ID="NavigationMenu"
runat="server"
EnableViewState="false"
IncludeStyleBlock="false"
Orientation="Horizontal"
MaximumDynamicDisplayLevels="0"
StaticDisplayLevels="1">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home" Value="first">
</asp:MenuItem>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="About" Value="second"/>
</Items>
<StaticItemTemplate>
<span class="<%#Eval("Value") %>"><%#Eval("Text") %></span>
</StaticItemTemplate>
<DynamicItemTemplate>
<span class="<%#Eval("Value") %>"><%#Eval("Text") %></span>
</DynamicItemTemplate>
</asp:Menu>
但由于链接内部自动生成了一个跨度 - 页面布局不正确。HTML 如下所示:
<ul class="level1">
<li>
<a class="level1" href="Default.aspx">
<span class="first">Home</span>
</a>
</li>
<li>
<a class="level1" href="About.aspx">
<span class="second">About</span>
</a>
</li>
</ul>
从“a”标签中删除“level1”并将其替换为“first”/“second”(和 span 标签消失)会很好。
所以......任何提示/想法?
谢谢!