2012-04-25 57 views
0

母版页中选择的选项卡我已经创造了很多的努力,一个母版页,但我无法弄清楚如何使基于用户点击来选择我的选项卡。 我用一个方法来做到这一点,但发现非常复杂的,因为我有通行证从我的每个控制器的,我不喜欢它一个可视数据,下面是我如何在控制器如何突出在asp.net MVC3

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'); 

      }}); 

我这是怎么做的,但有没有其他办法可以做到这一点...

请建议 我已经找到一个很好的链接active menu item - asp.net mvc3 master page 但它表明有我的答案不能理解如何在我的代码中使用以及在我的项目中编写代码的位置。

回答

0

使用answer you found。 要创建辅助类添加新的类你的项目,即这样

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;} 
+0

您好,感谢您的评论,但我应该在哪里添加静态类(在我的控制器创建一个静态类或控制器的动作) – aamankhaan 2012-04-26 05:28:04

+0

@aamankhaan没有,在你的项目的根目录中创建一个单独的文件,即 – Cheburek 2012-04-26 07:54:17