استفاده از badge در منو به همراه ViewBag

5/5/2016 MVC
3723

در این مطلب استفاده از badge  در bootstrap نوشتم اما نیاز داشتم تا این اطلاعات مثلا تعداد پستها از بانک خوانده شود و در منو که درLayout_ نمایش داده شود 

برای این کار نیز به استفاده از partialView  داشتم تا منو ها را داخل ان بریزم و با استفاده یک ActionResult  اطلاعات خوانده شده را با کمک Viewbag  به partialView ارسال کنم 

برای کنترل این کد را نوشتم 

[ChildActionOnly]
        public ActionResult MyNav()
        {
            ViewBag.1Int = db.table1.Where(x => x.Active && x.ArticleId == 2).Count();
            ViewBag.2Int = db.table2.Where(x => x.Active && x.ArticleId == 1).Count();
            return PartialView("_Nav");
        }

 

و در منو از این کد 

            <div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1">
               @Html.Action("MyNav", "Home")
                
            </div>

 

در Partialview  هم این کد

<ul class="nav navbar-nav navbar-right">
    <li>@Html.ActionLink("Home", "Index", "Home")</li>
    <li>
        <a href="@Url.Action("Index", "Home")">
             <span class="badge">@ViewBag.1Int</span> 
        </a>
    </li>
    <li>
        <a href="@Url.Action("Index", "Home", )">
             <span class="badge">@ViewBag.2Int</span> 
        </a>
    </li>
    <li>@Html.ActionLink("About", "About", "Home")</li>
   
</ul>