这是一个难以描述的问题。我有一个使用母版页的网站。我基本上使用VS在创建项目时为您提供的母版页的默认模板。我有一个asp:菜单,其方向设置为水平。在页面顶部(在母版页中),我有一个下拉列表,允许具有多个工作角色的用户能够选择他们每次要查看的角色。当他们在下拉列表中选择不同的角色时,页面会刷新,显示该角色的该页面的视图。一页有很多带有几个telerik网格的数据。当此页面刷新时,在所有内容加载的情况下持续几秒钟,菜单将显示方向垂直。网格加载后,菜单会水平重绘。我不知道为什么会发生这种情况。有没有人有任何想法?
谢谢,
朗达
<form runat="server" id="mainForm">
<div class="page">
<div class="header">
<div class="title">
<table>
<tr>
<td><img alt="" src="Images/logo_standard_48.gif" /></td>
<td><h1>WPR</h1></td>
</tr>
</table>
</div>
<div class="loginDisplay">
<table>
<tr>
<td colspan="2">Hello <span class="bold"><asp:Label ID="HeaderLoginLanID" runat="server" /> - <asp:Label ID="HeaderLoginName" runat="server" /></span>!</td>
</tr>
<tr>
<td><asp:Label ID="ChooseRoleLabel" runat="server" CssClass="LabelText">Please select role:</asp:Label></td>
<td><asp:DropDownList Width="150" ID="UserRolesList" runat="server" AutoPostBack="true" OnSelectedIndexChanged="UserRolesList_SelectedIndexChanged"></asp:DropDownList></td>
</tr>
</table>
</div>
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
<asp:MenuItem NavigateUrl="~/Portal.aspx" Text="My Portal"/>
<asp:MenuItem NavigateUrl="~/StartChecklist.aspx" Text="On Board Application"/>
<asp:MenuItem NavigateUrl="~/Search.aspx" Text="Search"/>
<asp:MenuItem NavigateUrl="" Text="Reports"/>
<asp:MenuItem NavigateUrl="~/Help.aspx" Text="Help"/>
</Items>
</asp:Menu>
</div>
</div>
<div class="main">
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
</div>
<div class="clear">
</div>
</div>
<div class="footer">
© 2011 . All rights reserved. | Version: 1.0.0.0
</div>
</form>
答案 0 :(得分:0)
我认为克雷格斯有正确的想法。我有同样的问题,我不得不放弃'asp:menuitem'用于普通的HTML Li列表。
{display:inline; }
为了使它们看起来水平并添加了许多其他类似的效果,幸运的是这解决了这个问题。
答案 1 :(得分:0)
Craig 是对的,我保留了 menuitem 方法,因为它绑定到 SiteMapDataSource 并利用了引导菜单。就我而言,解决方案是删除出现在 Site.Master 和母版页菜单上的一些附加 javascript