ActionLikns を使用して MVC4 Razor View でメニューを作成するには?
私はMVCの初心者なので、例を教えてください。
前もって感謝します
アンクル・トリパティ
ActionLikns を使用して MVC4 Razor View でメニューを作成するには?
私はMVCの初心者なので、例を教えてください。
前もって感謝します
アンクル・トリパティ
非常に基本的なメニューがどのように見えるかの例を次に示します。
<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>