2014-09-03 32 views
0

我使用引导程序选项卡,这是我的母版页:无法对儿童片的点击与引导父标签活跃在MVC

<div class="navbar-collapse collapse"> 
        <ul class="nav navbar-nav pull-right"> 
       <li class="dropdown"> 
       <a href="#" class="dropdown-toggle" data-toggle="dropdown">Users <b class="caret"></b></a>//this is my 1st tab 
          <ul class="dropdown-menu"> 
           <li class="divider"></li> 
           <li><a href="">Staff</a>//this is my child tab 
           <li><a href="">Clients</a>//this is my child tab 
           <li class="divider"></li> 
          </ul> 
         </li> 

@Html.MenuItem("Categories", "categories", "Admin")//this is my second tab. 

这是我的HTML帮助:

public static class MenuExtensions 
    { 
     public static MvcHtmlString MenuItem(
      this HtmlHelper htmlHelper, 
      string text, 
      string action, 
      string controller 
     ) 
     { 
      var li = new TagBuilder("li"); 
      var routeData = htmlHelper.ViewContext.RouteData; 
      var currentAction = routeData.GetRequiredString("action"); 
      var currentController = routeData.GetRequiredString("controller"); 
      if (string.Equals(currentAction, action, StringComparison.OrdinalIgnoreCase) && 
       string.Equals(currentController, controller, StringComparison.OrdinalIgnoreCase)) 
      { 
       li.AddCssClass("active"); 
      } 
      li.InnerHtml = htmlHelper.ActionLink(text, action, controller).ToHtmlString(); 
      return MvcHtmlString.Create(li.ToString()); 
     } 
    } 



<a href="#" class="dropdown-toggle" data-toggle="dropdown">Users <b class="caret"></b></a> 

现在上面的行如何指定类名的数据切换财产在下面一行:

@Html.MenuItem("Staff", "staff", "Admin") 

有人可以告诉我吗?

+0

要设置哪个属性“class”或“data-toggle”? – 2014-09-03 12:43:59

+0

class =“dropdown-toggle”data-toggle =“dropdown”.i想要设置这个类名和数据切换属性 – 2014-09-04 03:45:35

回答

1

请在MenuItem帮助程序方法中接受cssClass和DataToggle参数。 喜欢:

 public static MvcHtmlString MenuItem(
      this HtmlHelper htmlHelper, 
      string text, 
      string action, 
      string controller, 
      string dataTogVal, 
      string cssClass 
     ) 

接下来,调用ActionLink的方法的5参数的过载,并通过dataTogVal和的CssClass。像:

li.InnerHtml = htmlHelper.ActionLink(text, action, controller, null, new { @class = cssClass, data_toggle = dataTogVal }).ToHtmlString(); 
+0

非常感谢你的帮助 – 2014-09-04 08:54:39