0

我付出了很多努力创建了一个母版页,但我无法弄清楚如何根据用户点击来选择我的选项卡。我使用了一种方法来做到这一点,但发现非常复杂,因为我从每个我不喜欢的控制器传递了一个视图数据,下面是我如何在控制器中完成代码

ViewData["ActiveMenu"] = "Inbox";

在我的母版页中,我编写了一个如下所示的 jquery 来突出显示该选项卡。

$('#lnkInbox').mouseout(function () {
            $('#aInbox').removeClass('aInbox-Hover');
            $('#aInbox').addClass('aInbox');

            //put hover effect on the selected menu
            var activeMenu = '<%:ViewData["ActiveMenu"] %>';
            if (activeMenu == "Account") {
                $('#aAccount').removeClass('aAccount');
                $('#aAccount').addClass('aAccount-Hover');

            }});

这就是我正在做的事情,但有没有其他方法可以做到这一点......

请建议我找到了一个很好的链接活动菜单项-asp.net mvc3 母版页 ,但是那里显示的答案我无法理解如何在我的代码中使用以及在我的项目中编写代码的位置。

4

1 回答 1

0

使用您找到的答案。要创建帮助类,请向您的项目添加新类,即像这样

public static class LinkHelpers
{
//copy here the first block of code from the answer
}

添加到您的 HomeController 方法(可能您已经拥有它们):

public class HomeController : Controller
{
   public ActionResult About()
   {
     return View()
   }
   public ActionResult Index()
   {
     return View()
   }
}

创建各自的视图并添加到您的母版页

<ul>
    <li>@Html.MenuLink("Main", "Index", "Home")</li>
    <li>@Html.MenuLink("About us", "About", "Home")</li>
</ul>

最后在你的css文件中声明

.current{background-color:red;}
于 2012-04-25T13:43:51.090 回答