1

下面在我的 aspx 页面的我的菜单控件代码中

<table width="100%" cellpadding="0" cellspacing="0" style="background-color: Black; height: 30px; ">
        <tr style="background-color: Black; height: 30px;">
            <td  style="background-color: Black; width: 100%; height: 30px;">
            <div style="height:30px">
                <asp:Menu ID="NavigationMenu" runat="server" EnableViewState="false" RenderingMode="Default" CssClass="menu" ForeColor="White"
                    IncludeStyleBlock="false" Orientation="Horizontal" Height="30px" OnMenuItemClick="NavigationMenu_MenuItemClick" >
                    <StaticMenuItemStyle CssClass="menuitem" />
                    <DynamicMenuItemStyle CssClass="menuitem" />
                    <Items>
                        <asp:MenuItem NavigateUrl="~/Home.aspx" Text="Home" ToolTip="Home page" />
                        <asp:MenuItem NavigateUrl="~/CommonUser.aspx" Text="Create / Edit User Access" ToolTip="Provide access to users" />
                        <asp:MenuItem NavigateUrl="~/BulkUpload.aspx" Text="Bulk Upload" ToolTip="To bulk upload users " />
                        <asp:MenuItem NavigateUrl="~/SearchUser.aspx" Text="View / Revoke User Access" ToolTip="View existing users access" />

                        <asp:MenuItem Text="Admin" NavigateUrl="javascript:void(0);">
                            <asp:MenuItem NavigateUrl="javascript:void(0);" Text="User" ToolTip="Create / Edit User for the application">
                                <asp:MenuItem Text="Create User" NavigateUrl="~/AdminUser.aspx" />
                                <asp:MenuItem Text="Edit User" NavigateUrl="~/EditAdminUser.aspx" />
                            </asp:MenuItem>
                            <asp:MenuItem Text="Template" NavigateUrl="javascript:void(0);">
                                <asp:MenuItem Text="Create Template" />
                                <asp:MenuItem Text="Edit Template" />
                            </asp:MenuItem>
                            <asp:MenuItem NavigateUrl="javascript:void(0);" Text="Server" ToolTip="Add / Edit server Details">
                                <asp:MenuItem Text="Add Server" NavigateUrl="~/AddServers.aspx" />
                                <asp:MenuItem Text="Edit Server" NavigateUrl="~/EditServer.aspx" />
                            </asp:MenuItem>
                            <asp:MenuItem NavigateUrl="~/CreateConString.aspx" Text="Environment Password" ToolTip="Change password for connection string" />
                        </asp:MenuItem>

                    </Items>
                </asp:Menu>
                </div>
            </td>
        </tr>
    </table>

我有 2 个问题

  1. 我无法选择子菜单。他们正在显示但无法选择它。一旦我将鼠标移到子菜单上,子菜单就会消失
  2. 菜单在最大化窗口时移动到屏幕左侧。在鼠标悬停事件菜单正确对齐

下面是代码是如果在 IE 视图源中查看它

<table width="100%" cellpadding="0" cellspacing="0" style="background-color: Black; height: 30px; ">
        <tr style="background-color: Black; height: 30px;">
            <td  style="background-color: Black; width: 100%; height: 30px;">
            <div style="height:30px">
                <a href="#NavigationMenu_SkipLink"><img alt="Skip Navigation Links" src="/FacetsUserSetupApp/WebResource.axd?d=E02KDPXufVQc2nUrHjGfkA2&amp;t=634836496018543211" width="0" height="0" style="border-width:0px;" /></a><div class="menu" id="NavigationMenu">
    <ul class="level1">
        <li><a title="Home page" class="level1 menuitem" href="Home.aspx">Home</a></li><li><a title="Provide access to users" class="level1 menuitem" href="CommonUser.aspx">Create / Edit User Access</a></li><li><a title="To bulk upload users " class="level1 menuitem" href="BulkUpload.aspx">Bulk Upload</a></li><li><a title="View existing users access" class="level1 menuitem" href="SearchUser.aspx">View / Revoke User Access</a></li><li><a class="popout level1 menuitem" href="javascript:void(0);">Admin</a><ul class="level2">
            <li><a title="Create / Edit User for the application" class="popout level2 menuitem" href="javascript:void(0);">User</a><ul class="level3">
                <li><a class="level3 menuitem" href="AdminUser.aspx">Create User</a></li><li><a class="level3 menuitem" href="EditAdminUser.aspx">Edit User</a></li>
            </ul></li><li><a class="popout level2 menuitem" href="javascript:void(0);">Template</a><ul class="level3">
                <li><a class="level3 menuitem" href="#" onclick="__doPostBack(&#39;ctl00$NavigationMenu&#39;,&#39;Admin\\Template\\Create Template&#39;)">Create Template</a></li><li><a class="level3 menuitem" href="#" onclick="__doPostBack(&#39;ctl00$NavigationMenu&#39;,&#39;Admin\\Template\\Edit Template&#39;)">Edit Template</a></li>
            </ul></li><li><a title="Add / Edit server Details" class="popout level2 menuitem" href="javascript:void(0);">Server</a><ul class="level3">
                <li><a class="level3 menuitem" href="AddServers.aspx">Add Server</a></li><li><a class="level3 menuitem" href="EditServer.aspx">Edit Server</a></li>
            </ul></li><li><a title="Change password for connection string" class="level2 menuitem" href="CreateConString.aspx">Environment Password</a></li>
        </ul></li>
    </ul>
</div><a id="NavigationMenu_SkipLink"></a>
                </div>
            </td>
        </tr>
    </table>

我不确定如何为 A 控件使用 rendercompatibility 属性。任何人都可以请帮助我为菜单控件声明相同的内容

4

1 回答 1

1

对于每个版本的 ASP.NET,控件可能会输出不同的 HTML。通常,这不是什么大问题,而且所有 ASP.NET 版本似乎都可以与 IE6 一起使用。IE6 是 ASP.NET 1 和 1.1 发布时的主导浏览器,甚至可能在 ASP.NET 2 发布时也是如此。

但现在,随着 ASP.NET 4,微软对 H​​TML 进行了现代化改造,使其更符合当前标准(更少的表格,更多的 div、ul、li 等)。这是有道理的,因为现在所有流行的浏览器都支持这些标签以获得漂亮的布局。即使是 Internet Explorer,也已经远离 IE6。

如果您的站点仍然必须支持 IE6,但您需要或想要 ASP.NET 4 功能(就像公司内联网网站上的很多功能),这会产生向后兼容性问题。因此,Microsoft为您的 web.config引入了ControlRenderingCompatibilityVersion属性,并为您的控件引入了RenderingCompatibility属性。

我会说试试看。将菜单的RenderingCompatibility属性设置为 3.5 版,看看会有什么不同。

然而,有理由放弃对 IE6 的支持。即使您的客户目前仍在使用 IE6,它还能持续多久?考虑到安全性、速度、支持和其他影响,升级浏览器有令人信服的理由。

于 2013-04-25T13:35:09.250 回答