当与Master Page结合使用时,我很难找到ASP.Net Menu控件的奇怪问题的解决方案。
当用户导航到某个页面时 - 通过。菜单 - 继承自母版页,整个菜单只是在屏幕上展开和闪烁。立即折叠,页面呈现.... 导致屏幕上出现一些闪烁,使用户感到烦恼。
现在,为此建议了一些解决办法: - 从web.config中注释掉标记。 - 在其Page_Load事件中为主页提供ID。 尝试了所有,似乎没有解决我的问题:(。 我会接受任何想法。
-HK
答案 0 :(得分:1)
我记得在我的网站的某个地方看到过这一点。从那以后我把菜单撕掉了,但把它放回到我的母版页中,我再也看不到闪烁了。这是一个简单菜单的代码,在母版页中没有闪烁;
<asp:Menu ID="menu"
DataSourceID="sitemap"
runat="server" />
<asp:SiteMapDataSource
ID="sitemap"
ShowStartingNode="false"
runat="server" />
我自己没有尝试过,但如何将菜单子项的默认类设置为不可见(例如,invisibleMenu
类),这意味着它最初无形地加载,然后使用一些javascript来删除不可见?在jQuery中,类似
$('.invisibleMenu').removeClass('invisibleMenu');
答案 1 :(得分:0)
如果我记得,我有同样的问题,并将菜单放在amster页面的内容占位符中解决它:
<asp:ContentPlaceHolder ID="MenuZone" Runat="server">
<asp:TreeView ID="TreeView1" Runat="server" DataSourceID="dsSiteMap" ImageSet="Simple"
NodeIndent="10" MaxDataBindDepth="3" ExpandDepth="0" OnTreeNodePopulate="TreeView1_TreeNodePopulate">
<SelectedNodeStyle Font-Underline="True" ForeColor="#DD5555" HorizontalPadding="0px" VerticalPadding="0px"></SelectedNodeStyle>
<NodeStyle Font-Names="Verdana" Font-Size="8pt" HorizontalPadding="0px" ForeColor="Black" NodeSpacing="0px" VerticalPadding="0px"></NodeStyle>
<HoverNodeStyle Font-Underline="True" ForeColor="#DD5555"></HoverNodeStyle>
<ParentNodeStyle Font-Bold="False" />
</asp:TreeView>
<asp:SiteMapDataSource ID="dsSiteMap" Runat="server" ShowStartingNode="False" />
并且不在嵌套页面中覆盖此占位符。
答案 2 :(得分:0)
如果知道你的问题 在主页面上使用时,ASP.Net菜单控件呈现错误 如果asp.net菜单不起作用,那么使用usercontrol而不是母版页,因为我们可以通过easy wasy使用用户控件。
答案 3 :(得分:0)
将菜单添加到ASCX页面或其自己的母版页,并将其包含在主母版页中。我自己从未遇到过这个问题,但发生了类似的事情。
答案 4 :(得分:0)
如果其他人再次遇到此问题,我在另一个Stack Overflow线程上解决了我的问题:
答案 5 :(得分:0)
同样的问题也与我同在。但通过删除jquery调用解决了。 :) 或者您可以将.js脚本文件下载并保存在脚本文件夹中,而不是从在线引用它。