回发后ASP.Net子菜单不显示

时间:2013-09-27 05:10:48

标签: c# asp.net menuitem

我在母版页中使用了ASP.Net菜单控件。然后我使用更新面板包装Maincontent。当回发发生时,鼠标悬停时主页面中的子菜单不显示。我需要再次单击菜单,然后将鼠标悬停在子菜单仅显示的菜单上。

母版页         

        <div class="float-right">                
            <nav>
                <asp:Menu ID="mne" runat="server" Orientation="Horizontal" Font-Names="Arial, Verdana, Tahoma" 
                    OnMenuItemClick="mne_MenuItemClick"  StaticEnableDefaultPopOutImage="false" Width="510px" 
                    DynamicHorizontalOffset="20" StaticSubMenuIndent="250px" TabIndex="1" >
                    <LevelMenuItemStyles>
                        <asp:MenuItemStyle CssClass="level1" HorizontalPadding="10px" />
                    </LevelMenuItemStyles>
                    <StaticMenuStyle  />
                    <DynamicMenuStyle  />
                    <StaticHoverStyle BackColor="Wheat" />
                    <DynamicHoverStyle BackColor="Gray" ForeColor="White" />
                    <Items>
                        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home" 
                           Value="Home"></asp:MenuItem>
                        <asp:MenuItem Text="Management" Value="Management"
                           ToolTip="Management">
                            <asp:MenuItem Text="Edit" Value="Edit" ToolTip="Edit 
                                NavigateUrl="~/Edit.aspx">
                            </asp:MenuItem>
                        </asp:MenuItem>                           
                        <asp:MenuItem Text="Logout" Value="Logout"></asp:MenuItem>
                    </Items>
                </asp:Menu>
            </nav>
        </div>
    </div>
</header>

Edit.aspx

<asp:DropDownList ID="Country" runat="server" AutoPostBack="true" OnSelectedIndexChanged="Country_SelectedIndexChanged">
                    </asp:DropDownList>

在下拉列表回发后,鼠标悬停在菜单上,子菜单不显示。我需要点击菜单然后鼠标悬停将显示子菜单 什么都出错了?请帮忙

2 个答案:

答案 0 :(得分:0)

我也间歇性地经历过这种情况,其他一些建议都没有对我有用。我最终决定删除每一行服务器端代码,然后逐节解开它们,直到我发现导致它的原因。

事实证明,这是使用ClientScript.RegisterStartupScript(...)方法进行服务器端JavaScript注入的结果。在某些情况下,注入的JavaScript中引用的客户端对象在注入脚本时不可见。其他人暗示页面生命周期是这个问题的根本原因,这将证明这一点。

一旦我发现了这一点,我就可以通过确保脚本在引用之前检查文档元素的可见性来轻松地修复它。令人惊讶的是,尽管启用了JavaScript警告,但这并没有产生任何客户端错误。

答案 1 :(得分:0)

禁用根或父菜单的回发:

select b.GID, b.GNAME, a.GGID, a.GGNAME from GOAL_GROUP a
left join GOAL b
on  a.GGID=b.GGID

当移动设备打开应用程序时,此选项更有用。