ユーザーにリンクされているアイテムの数を、asp.net MVC ページの上部にあるメニューの横にバッジとして表示したいと考えています。(私はブートストラップ 3 を使用しています)
これを静的にしたくないため、つまり動的に更新する必要があるため、ページの読み込みごとに呼び出されるレイアウトページで参照される部分ビューページ _Menu.cshtml に配置します
<ul class="nav navbar-nav">
<li>@*Html.ActionLink("Proposals", "Index", "MyController")*@
@{
var db = new MyDb();
var count = db.Proposals.Count(p => p.UserName== User.Identity.Name );
db.Dispose();
}
<a href="/MyController/Index">Home <span class="badge pull-right">@count</span></a>
</li>
</ul>
したがって、すべてのページに表示できます
私はこれがあまり良い方法だとは思わないので
1) 関心の分離。私は自分のcshtmlに直接dbロジックを持っています
2)すべてのページでそれを呼び出すのはあまり良い考えではありませんが、それでも更新する最善の方法はわかりませんが、どういうわけかキャッシュします
上記のシナリオのasp.net MVCでのメニューバッジ通知のベストプラクティスは何ですか?