2013-03-30 4 views

ответ

5

Вот пример того, как очень основное меню может выглядеть следующим образом:

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

Затем вы можете применить некоторые различные классы CSS к active link меню. Вы можете написать собственный 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()); 
    } 
} 

, которые могут быть использованы, как это:

<ul> 
    @Html.MenuItem("Home", "Index", "Home") 
    @Html.MenuItem("About us", "About", "Company") 
    ... 
</ul> 
Смежные вопросы