【发布时间】:2021-01-26 04:16:22
【问题描述】:
这是一个很难描述的问题。我有一个使用母版页的网站。我基本上使用 VS 在创建项目时为您提供的母版页的默认模板。我有一个 asp:menu 的方向设置为水平。在页面顶部(在母版页中)我有一个下拉列表,允许具有多个工作角色的用户能够选择他们每次要查看的角色。当他们在下拉列表中选择不同的角色时,页面会刷新,显示该角色页面的视图。一页有相当多的数据和几个 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>
【问题讨论】:
-
那将是在页面加载之后或中途运行的 Javascript
-
我猜你回答了我问的问题。我的下一个问题是如何找到 javascript 然后修复它?
-
我应该提一下,我没有在母版页或子页中明确调用任何 javascript。
-
JavaScript 将从您正在使用的用户控件生成。如果您查看页面的来源,您将看到它。我个人不喜欢以这种方式使用菜单控件。我建议创建您自己的基于 CSS 的菜单。使用 CSS,您不会有跳跃。如果这不是您真正想要的答案,请见谅。
-
我按照建议做了,并使用新的 css 驱动菜单重新创建了我的菜单。问题解决了。谢谢克雷格。
标签: asp.net master-pages