我绝不是一名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时显示轮播?
答案 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
}