【发布时间】:2014-05-21 21:03:33
【问题描述】:
我知道以前有人问过这个问题并回答过,但我仍然无法让它工作。我把它归结为这一点。如果我在 MenuItem 中指定 NavigateURL,它将不起作用。如果我不这样做,则菜单项在单击时会按预期更改其样式。但是,它作为导航菜单完全没有用,因为它不再带您到任何地方! :)
所以澄清一下,这是可行的 - 选定的项目按照指定的样式突出显示:
<asp:menu id="NavigationMenu" staticdisplaylevels="1" orientation="Horizontal" runat="server">
<staticselectedstyle backcolor="LightBlue" borderstyle="Solid" bordercolor="Black" borderwidth="1"/>
<items>
<asp:MenuItem Text="Home" Value="Home" />
<asp:MenuItem Text="Software" Value="Software" />
</items>
</asp:menu>
这不起作用 - 唯一的改变是添加 NavigateURL:
<asp:menu id="NavigationMenu" staticdisplaylevels="1" orientation="Horizontal" runat="server">
<staticselectedstyle backcolor="LightBlue" borderstyle="Solid" bordercolor="Black" borderwidth="1"/>
<items>
<asp:MenuItem NavigateUrl="/Default.aspx" Text="Home" Value="Home" />
<asp:MenuItem NavigateUrl="/Software.aspx" Text="Software" Value="Software" />
</items>
</asp:menu>
在this other post 中,OP 正在使用 NavigateURLs,并已接受有关 StaticSelectedStyle 的答案。没看懂。
我想了解如何保持 StaticSelectedStyle 正常工作,和同时使用 NavigateURL。
我应该补充一点,菜单位于母版页中。正在导航的页面使用此母版页。
谢谢! -桑德拉
编辑:
根据我对该主题的阅读,我认为这不起作用,因为 Menu 控件只知道它在 Postback 上的位置。但是,如果您的菜单项将您带到其他页面,则不再是回发,并且菜单控件会重新加载并且不知道单击了哪个项。
【问题讨论】: