重複の可能性:
メニューの「現在の」ナビゲーション項目をマークする最良の方法
現在、メニューボタンにcssクラスを設定していませんが、jQueryを介してボタンにカーソルを合わせると設定します。サーバー側のコードでcssクラスをアクティブに設定したいので、ユーザーが別のセクションに直接移動した場合、適切なメニューボタンにはすでに適切なcssスタイルがあります。唯一のことは、MVCでこれを行うのに最適な方法がわからないことです。ボタンは、次のような共有部分ビューにあります(もちろん、機能は完全ではありませんが、アイデアを得るには十分なはずです)。
@if (User.Identity.IsAuthenticated)
{
<ul id="mainMenu">
<li>@Html.ActionLink("Accounts", "List", "Accounts", new { userId = 2 }, null)</li>
<li><a href="?">Config</a></li>
<li><a href="?">Reports</a></li>
</ul>
}
<li>
ユーザーが[アカウント]ボタンをクリックしたときに、要素のcssクラスをアクティブに設定したいと思います。AccountsController
これを行うのに最適な(または唯一の)場所ですか?共有部分ビューでも?
ユーザーが[アカウント]リンクをクリックしたときに呼び出されるメソッドは次のとおりです。
[HttpGet]
public ViewResult List(Int64 userId)
{
var serviceAccounts = _accountManager.GetAccounts(userId);
var accounts = Mapper.Map<IEnumerable<ServiceModels.Account>, List<AccountModel>>(serviceAccounts);
return View("List", accounts);
}
前もって感謝します!