1

ユーザーにリンクされているアイテムの数を、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でのメニューバッジ通知のベストプラクティスは何ですか?

4

1 に答える 1