获取轮播中的项目数 - ASP.net应用程序

时间:2016-07-26 13:34:34

标签: asp.net

我绝不是一名ASP.net开发人员,但是我的目的是解决一个出现在页面上的轮播的问题,甚至认为没有可以显示的幻灯片。我已经打开了我从之前的开发人员那里找到的代码并发现了这部分(缩短了):

@if (new SchoolWebber.Models.SiteViewModel().DisplayCarouselOnAllPages || ViewBag.IsHomePage != null) {

<div id="myCarousel" class="carousel slide" data-ride="carousel">

  <ol class="carousel-indicators">

    @{ var imagecounter = 0;} @foreach (var item in new SchoolWebber.Models.SiteViewModel().GetCarousel()) { if (imagecounter == 0) {
    <li data-target="#myCarousel" data-slide-to="@imagecounter" class="active"></li>
    } else {
    <li data-target="#myCarousel" data-slide-to="@imagecounter"></li>
    } imagecounter++; }
  </ol>

  ....

}

所以,如果我做对了,它会检查轮播是否设置为在所有页面上显示,否则它会在主页上显示。然而,问题在于它在主页上显示轮播,甚至认为没有要显示的项目。

如何在此处应用一个条件来计算SchoolWebber.Models.SiteViewModel()。GetCarousel()中的项目数,并仅在该数字大于0时显示轮播?

1 个答案:

答案 0 :(得分:0)

@using System.Linq  @* place it in the top of file *@

// ... rest of your code

@{ var carouselModel = new SchoolWebber.Models.SiteViewModel().GetCarousel(); }
@if (carouselModel.Any() &&
     (new SchoolWebber.Models.SiteViewModel().DisplayCarouselOnAllPages || ViewBag.IsHomePage != null)) 
{

    // ... rest of your code

    @{ var imagecounter = 0;} 
    @foreach (var item in carouselModel)

    // ... rest of your code
}