在 2 个单独的 Web 应用程序中,一个使用带有 vs2008 的 asp.net 3.5 和带有 vs2010 的 4.0,asp.net 菜单的子菜单项仅在 android 浏览器上消失。当点击主菜单项时,孩子们会闪烁一秒钟然后消失。
修改后的菜单如下:
<asp:Menu ID="MainMenuEmp" runat="server" CssClass="menuASP" Orientation="Horizontal" DynamicHorizontalOffset="0"
StaticDisplayLevels="1" StaticEnableDefaultPopOutImage="false" DynamicVerticalOffset="1" visible="false"
>
<StaticMenuitemStyle CssClass="menuitemASPStatic" />
<StaticHoverStyle CssClass="menuASPStaticHover" />
<StaticSelectedStyle CssClass="menuASPStaticHover" />
<DynamicMenuStyle CssClass="menuASPDynamicMenuStyle" />
<DynamicMenuitemStyle CssClass="menuitemASPDynamic" />
<DynamicHoverStyle CssClass="menuASPDynamicHover" />
<DynamicSelectedStyle CssClass="menuASPDynamicHover" />
<Items>
<asp:MenuItem Text="HISTORY" Value="@" navigateurl="~/clientpages/jobhistory.aspx" />
<asp:MenuItem Text="NEW ORDER" Value="@" navigateurl="~/clientpages/newjob.aspx" />
<asp:MenuItem Text="CLIENT INFO" Value="@" navigateurl="~/clientpages/clientinfo.aspx" />
<asp:MenuItem Text="MGMT" Value="@" Selectable="false" >
<asp:MenuItem Text="Inspections" Value="@" navigateurl="~/clientpages/MgrInspection.aspx" />
<asp:MenuItem Text="Tasks" Value="@" navigateurl="~/clientpages/MgrInspectionStatus.aspx"/>
<asp:MenuItem Text="Last Vehicle Inspection" Value="@" navigateurl="~/clientpages/MgrInspectionVehicle.aspx"/>
</asp:MenuItem >
<asp:MenuItem Text="JOB MGMT" Value="@" navigateurl="~/clientpages/jobdailyview.aspx"/>
</Items>
</asp:Menu>
部分 css 如下:(需要 z-index 才能让子菜单显示在其他浏览器上)。
.menuASPDynamicMenuStyle
{
z-index: 999; /*padding: 4px 0 3px 0;*/
padding: 0;
margin-top: 1px;
background-color: #F8F8F8;
}
菜单在母版页上,工具脚本管理器在页面上。
以下代码在 masterpage 的 init 事件中:
If Request.ServerVariables("http_user_agent").IndexOf("Safari", StringComparison.CurrentCultureIgnoreCase) <> -1 Then
Page.ClientTarget = "uplevel"
End If
这对于让子菜单也显示在其他浏览器上是必要的。我试过了:
page.clienttarget = "uplevel"
没有条件,但是,这不起作用。
我也尝试添加一个 android 浏览器文件,但是,这不起作用。
我已经在网上搜索了几天。有几个类似的问题,但没有答案。有没有人有同样的问题?该菜单在 chrome、ff、safari、ipad 中运行良好,但不适用于 android 移动设备和 android 平板电脑。