現在のルートに依存するタグにクラスを配置できるようにしたいのですが、これは可能ですか?
現時点では ActionLinks を使用していませんが、必要に応じて切り替えられるはずです。可能であれば、すべてのナビゲーションを変更しなければならないという理由だけで避けたいと思います。
たとえば、私が持っている場合:
<a href="/">Home</a>
<a href="/About">About</a>
etc
/About に移動する場合、これを次のように変更します: About
現在のルートに依存するタグにクラスを配置できるようにしたいのですが、これは可能ですか?
現時点では ActionLinks を使用していませんが、必要に応じて切り替えられるはずです。可能であれば、すべてのナビゲーションを変更しなければならないという理由だけで避けたいと思います。
たとえば、私が持っている場合:
<a href="/">Home</a>
<a href="/About">About</a>
etc
/About に移動する場合、これを次のように変更します: About
HTML Helpers to us ActionLinks に切り替えたくない場合は、従来のリンクをそのまま使用し、Html.Raw を使用して生の html を出力できます。
<a href="/" @Html.Raw("class=\"someclasshere\"")>Home</a>
現在の「アクティブな」ナビゲーションのように条件付きでクラスを設定すると、コントローラーとアクションの両方を確認する必要があります。
<a href="/" @Html.Raw(ViewContext.RouteData.Values["action"].ToString().Equals("index",StringComparison.CurrentCultureIgnoreCase) && ViewContext.RouteData.Values["controller"].ToString().Equals("home",StringComparison.CurrentCultureIgnoreCase)? "class=\"active\"": "")>Home</a>
もちろん、次のようなこともできます。
@Html.ActionLink(
"linkText",
"actionName",
null, // routeValues
new { @class = // just build an expression here to return the class name }