我有一个带有几个menuitems的asp.net菜单。其中1个项目有子菜单。
问题是,在我的网站上点击一段时间之后,菜单的格式会突然变得混乱(背景图像只显示在文本周围的紧密矩形中,文本将低于分隔符图像)具有子菜单的menuitem文本添加了扩展MenuItem_Text(“设置” - >“设置扩展设置”),但它实际上不可扩展。
我发现注销然后重新登录解决了这个问题,清除缓存也是如此,但我不能指望我的用户知道这一点。
我的代码中已经有AppleWebKit行了,所以不是那样。
修改
<asp:Menu ID="Menu1" runat="server" Orientation="Horizontal" BackColor="transparent"
StaticMenuItemStyle-ItemSpacing="0" StaticEnableDefaultPopOutImage="False" DynamicEnableDefaultPopOutImage="false">
<Items>
<asp:MenuItem NavigateUrl="~/Main.aspx" Text="Home" SeparatorImageUrl="~/Images/menubarmid.png" />
<asp:MenuItem Text="Setup" SeparatorImageUrl="~/Images/menubarmid.png" Selectable="false">
<asp:MenuItem NavigateUrl="~/ASetup.aspx" Text="A" />
<asp:MenuItem NavigateUrl="~/BSetup.aspx" Text="B" />
</asp:MenuItem>
<asp:MenuItem NavigateUrl="~/Logout.aspx" Text=" Logout "></asp:MenuItem>
</Items>
<StaticHoverStyle CssClass="static_hover_style" />
<DynamicHoverStyle CssClass="dynamic_hover_Style" />
<StaticMenuStyle CssClass="static_menu_style" />
<DynamicMenuStyle CssClass="dynamic_menu_style" />
<StaticMenuItemStyle CssClass="static_menuitem_style" />
<DynamicMenuItemStyle VerticalPadding="3px" HorizontalPadding="10px" CssClass="dynamic_menuitem_style" />
</asp:Menu>
答案 0 :(得分:0)
StackOverflow上有一个类似的问题,可能是你的答案。似乎存在一种“hack”,允许Menu控件在WebKit浏览器(如Chrome)中正确呈现
答案 1 :(得分:0)
我想出了同样的问题,我发现将StaticPopOutImageTextFormatString属性设置为空字符串使得“expand Setup”相当于消失。
Chrome似乎试图显示弹出图片的替代文字,而不是仅显示图片以表明链接可能会弹出。
因此我的asp代码看起来像这样:
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticEnableDefaultPopOutImage="False" StaticPopOutImageTextFormatString="">
</asp:Menu>
这样,除AppleWebKit代码外,似乎还允许我的代码工作。每次重新启动测试服务器时,我都必须执行F5班次以重置缓存。
答案 2 :(得分:0)
当我将asp.net网站部署到服务器时,我发生了这种情况。我最终发现在IIS中,该站点的目标框架是2.0。我将其更改为4.0,并且嘿presto站点地图菜单按预期工作。