我想在我的 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中直接有数据库逻辑
2)在每个页面上调用它并不是一个好主意,但我不确定仍然刷新它但以某种方式缓存它的最佳方法
对于上述场景,asp.net MVC 中菜单标记通知的最佳实践是什么?