帮助使用MVC3和剃刀的2级水平菜单

时间:2011-04-01 13:08:54

标签: css asp.net-mvc-3 razor

我正在尝试做一个2级水平菜单,就像这里找到的那​​样: TV.Com

我在google上搜索过,但无法将它们整合在一起。

以下是我正在使用的样本:

<div id="divNav">
<ul id="nav">

<li id="liRenaissance" class="off"><a href="#"><span>Renaissance</span></a>
<ul>
    <li><a href="#">Brunelleschi</a></li>
    <li><a href="#">Alberti</a></li>
    <li><a href="#">Palladio</a></li>
    <li><a href="#">Michelangelo</a></li>
    <li><a href="#">Bramante</a></li>
</ul></li>  
<li id="liModern" class="on"><a href="#"><span>Modern</span></a>
<ul>
    <li><a href="#">Sullivan</a></li>
    <li><a href="#">Le Corbusier</a></li>
    <li><a href="#">Mies</a></li>
    <li><a href="#">Gropius</a></li>
    <li><a href="#">Yamasaki</a></li>
</ul></li>  

CSS正在运行,但如何在不使用Request.Querystring的情况下从控制器设置它。

希望有人能帮助我!

2 个答案:

答案 0 :(得分:0)

这可能会让您的生活更轻松:ASP.NET MVC Sitemap provider

答案 1 :(得分:0)

根据您的标记,我猜您希望能够根据您在网站上的位置将其中一个菜单设置为“打开”,将另一个菜单设置为“关闭”。

如果您不愿意在母版页本身中使用Request.Querystring,您可以:

  1. 在您的母版页上使用代码隐藏这有点过时,因为在MVC中避免了代码隐藏,但它可以分离您对通常没有控制器的母版页的关注。

  2. 使用RenderAction引用a 将处理菜单的控制器 代。

  3. 2号可能是你最好的选择。