【发布时间】:2009-06-29 21:07:40
【问题描述】:
我正在努力寻找在 ASP.net 中实现选项卡样式菜单系统的方法。从 HTML/CSS 的角度来看,这些选项卡看起来很棒,并且在母版页中实现,因此我无法从内容页面访问 body 标记。我想要解决的是如何根据用户正在访问的页面来改变“活动标签”。
我能想到几种方法:
- 在每次页面加载时动态生成 HTML
- 在 Page_Load 中操作列表项
- 使用 jQuery 操作选中的选项卡类
我还有一个问题似乎使某些解决方案不合适;一个选项卡可能包含多个不同的页面名称,例如,应该为 Default.aspx 和 CourseDetail.aspx 选择“课程”选项卡。
这些似乎都不是特别优雅,我觉得在 ASP.net 中有更好的方法来做到这一点,但我不知道我在寻找(或搜索)什么。
HTML:
<div id="tabs">
<ul>
<li class="selectedtab"><a href="/">Courses</a></li>
<li><a href="#">My Courses</a></li>
<li><a href="#">Administration</a></li>
</ul>
</div>
CSS:
#head ul
{
list-style: none;
padding:0;
margin:0;
}
#head li
{
display: inline;
border: solid;
border-width: 1px 1px 0 1px;
margin: 0 0.5em 0 0;
background: #EEE;
font-size: large;
font-weight: bold;
padding-top: 0.3em;
}
#head li a
{
padding: 0 1em;
text-decoration: none;
color: Black;
}
#head .selectedtab
{
padding-bottom: 1px;
background: white;
border-bottom: 1px solid white;
}
#tabs
{
text-align: right;
width: 100%;
border-bottom: 1px solid;
}
【问题讨论】: