-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 に答える