水平asp.net菜单显示为垂直列表

Luc*_*ius 4 html asp.net aspmenu

http://i44.tinypic.com/5ureav.png

当我的页面偶尔渲染时,水平菜单就会显示出来.为什么?

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" 
    EnableViewState="false" IncludeStyleBlock="false" 
    Orientation="Horizontal" ClientIDMode="AutoID">
    <Items></Items>
</asp:Menu>
Run Code Online (Sandbox Code Playgroud)

它通常在页面加载大量数据时执行此操作,但是当数据完成加载时,它永远不会回到水平状态.

使用IE 7,8和9以及Chrome进行测试.

我环顾网络,发现有些人说这是z-index,但调整没有帮助.

我在IE8中使用"开发人员工具"进一步排除故障,发现一些没有成功的javascript调用.我不知道他们的意思.

<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$MainContent$tsmgrEmployees', 'aspnetForm', ['tctl00$MainContent$uPanelEmployees',''], ['ctl00$MainContent$btnClear','','ctl00$MainContent$txtEUID','','ctl00$MainContent$txtFirstName','','ctl00$MainContent$txtLastName',''], [], 90, 'ctl00');
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)

产生错误

'Sys.WebForms.PageRequestManager'为null或不是对象

<script type='text/javascript'>new Sys.WebForms.Menu({ element: 'ctl00_NavigationMenu', disappearAfter: 500, orientation: 'horizontal', tabIndex: 0, disabled: false });</script>
Run Code Online (Sandbox Code Playgroud)

产生错误

'Sys.Webforms.Menu'为null或不是对象

我相信其余的错误都来自这两个错误.你认为我应该用更新的库替换jscript库吗?它可能是浏览器相关的,因为我使用的是IE8(不兼容模式).

可能有用的信息的另一个奇数位,当我建立我的开发环境,在WinXP专业版Visual Studio 2010中的解决方案,它工作正常,但是当我把它发布到服务器(IIS 7.5,Server 2008 R2中),它打破.起初我以为它可能是数据滞后,但服务器上的连接字符串应该比我的开发环境中的连接字符串更快.服务器使用Localhost作为目标,我的开发工作站使用服务器路径...所以我不认为它的数据滞后.

小智 5

我有同样的问题.我通过在asp:Menu控件下创建RenderingMode ="Table"来解决它.

例:

<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal" RenderingMode="Table">
        <StaticMenuItemStyle CssClass="menuitem" />
        <DynamicMenuItemStyle CssClass="menuitem" />
Run Code Online (Sandbox Code Playgroud)

你将不得不用css多一点(删除你的CSS中的'ul'和'li'属性).

创建

 <StaticMenuItemStyle CssClass="menuitem" />
 <DynamicMenuItemStyle CssClass="menuitem" />
Run Code Online (Sandbox Code Playgroud)

在菜单控件中(如上所示)也有助于css格式化.

由于某种原因,菜单列表正在创建此问题.这至少是一种解决方法.