-4

如何使用 ActionLikns 在 MVC4 Razor View 中创建菜单?

我是 MVC 的初学者,所以请给我任何例子?

提前致谢

安库尔·特里帕蒂

4

1 回答 1

5

这是一个非常基本的菜单的示例:

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

然后您可能希望将一些不同的 CSS 类应用于活动菜单链接。然后,您可以编写一个自定义 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>
于 2013-03-30T09:26:39.473 回答