我正在开发一个项目并且需要让导航栏保持静态(例如facebook),而不是CSS固定位置,但是当我点击菜单中的项目来加载其内容时, 仅内容区域刷新。
因此我相信我需要在页面中心有一个容器来加载动态内容。现在,导航栏包含在我的所有aspx页面中,这些页面是相同的,并且栏会在页面之间刷新。
我阅读了几篇文章/文章,我想到的方法是将每个aspx包装到usercontrols中,然后在从基于本文的相应菜单项调用后,将其动态加载到我的母版页内的div中: / p>
http://msdn.microsoft.com/en-us/library/c0az2h86%28v=VS.100%29.aspx
我的一个页面使用jquery选项卡显示/隐藏父div中的多个子div内容,这意味着所有div内容都在一个页面中,但是现在我正在处理30个以上的aspx页面,这意味着这种方式应该是但那是我需要的概念。
问题是我有超过30个巨大的aspx页面,并且不确定这是否可行。对我的情况有任何建议吗?感谢。
答案 0 :(得分:3)
所以你只想让你的菜单栏保持固定?那么请使用css位置属性fixed
。
将您的菜单栏包含在包含div
的内容中,然后将其设置为样式。
div#menu{
position: fixed;
height: 25px;
width: 100%;
}
然后为您的页面内容提供25px的上边距
div#content{
margin-top: 25px;
}
这将导致您滚动时导航始终保持固定在页面顶部,而您无需对页面/用户控件/动态加载内容执行任何操作。
我在这里放了一个小例子。 CSSDeck Example
答案 1 :(得分:1)
问题是您希望它是如何干净的或脏?
真的干净吗? - >建立一个Single Page Application。这可能会让您重写应用程序的大部分内容。
老派? - >使用iFrame并从页面中删除(部分?)MasterPage。更脏吗? - >将您的内容加载到UpdatePanel。您必须再次从页面中删除MasterPage。
所有解决方案都会向您展示导航挑战,如here所述。