母版页菜单在回发时无法正确呈现方向

时间:2011-11-03 17:54:28

标签: asp.net master-pages

这是一个难以描述的问题。我有一个使用母版页的网站。我基本上使用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>

2 个答案:

答案 0 :(得分:0)

我认为克雷格斯有正确的想法。我有同样的问题,我不得不放弃'asp:menuitem'用于普通的HTML Li列表。

  

{display:inline; }

为了使它们看起来水平并添加了许多其他类似的效果,幸运的是这解决了这个问题。

答案 1 :(得分:0)

Craig 是对的,我保留了 menuitem 方法,因为它绑定到 SiteMapDataSource 并利用了引导菜单。就我而言,解决方案是删除出现在 Site.Master 和母版页菜单上的一些附加 javascript