1

我正在做一个项目,并且需要让导航栏保持静态(例如 facebook),而不是 CSS 固定位置,但是说当我单击菜单中的某个项目以加载其内容时,只有内容区域会被刷新

因此,我相信我需要一个位于页面中心的容器来加载动态内容。现在,导航栏包含在我所有相同的 aspx 页面中,并且导航栏会在页面之间刷新。

我阅读了几篇文章/帖子,我想到的方法是将每个 aspx 包装到用户控件中,然后在从基于本文的相应菜单项调用时将其动态加载到我的母版页内的 div 中:

http://msdn.microsoft.com/en-us/library/c0az2h86%28v=VS.100%29.aspx

我的一个页面使用 jquery 选项卡在父 div 中显示/隐藏多个子 div 内容,这意味着所有 div 内容都在一个页面中,但是现在我正在处理 30 多个 aspx 页面,这意味着这种方式应该被淘汰,但这就是我需要的概念。

问题是我有超过 30 个巨大的 aspx 页面,不确定这是否是要走的路。对我的情况有什么建议吗?谢谢。

4

2 回答 2

3

所以你只是想让你的菜单栏保持固定?那么利用 css position 属性fixed

将您的菜单栏包装在一个容器中div,然后对其进行样式设置。

div#menu{
    position: fixed;
    height: 25px;
    width: 100%;
}

然后给你的页面内容一个 25px 的上边距

div#content{
    margin-top: 25px;
}

这将导致您的导航在滚动时始终保持固定在页面顶部,并且您无需对页面/用户控件/动态加载内容执行任何操作。

我在这里整理了一个小例子。CSSDeck 示例

于 2013-02-02T20:26:52.357 回答
1

问题是你希望它有多干净或多脏

真的干净吗?-> 构建单页应用程序。这可能会使您重写应用程序的很大一部分。

老套?-> 使用 iFrame 并从您的页面中删除(部分?)MasterPage。

更脏?-> 在UpdatePanel中加载您的内容。您必须再次从页面中删除 MasterPage。

所有解决方案都会向您提出导航挑战,如此处所

于 2013-02-02T21:09:41.107 回答