我正在寻找的只是限制缩略图的数量(img),并保持foreach不变。
我们说文件夹中有6个项目,我需要获取所有项目 但只有前两个图像标签。
这可能吗?
这是我的代码,
@{
string folderPath = Server.MapPath("/media");
string[] files = Directory.GetFiles(folderPath + "/" + Model.Content.GetPropertyValue("Name"));
}
@foreach (string item in files){
<li data-src="/media/@Model.Content.GetPropertyValue("Name")/@Path.GetFileName(item)" data-sub-html="">
<a href="">
<img src="/media/@Model.Content.GetPropertyValue("Name")/@Path.GetFileName(item)"/>
</a>
</li>
}
所需的最终结果如下所示:
<li data-src="/media/806.png" data-sub-html="">
<a href="">
<img src="/media/806.png"/>
</a>
</li>
<li data-src="/media/853.png" data-sub-html="">
<a href="">
<img src="/media/853.png"/>
</a>
</li>
<li data-src="/media/089.png" data-sub-html="">
<a href="">
</a>
</li>
<li data-src="/media/931.png" data-sub-html="">
<a href="">
</a>
</li>
<li data-src="/media/061.png" data-sub-html="">
<a href="">
</a>
</li>
<li data-src="/media/735.png" data-sub-html="">
<a href="">
</a>
</li>
答案 0 :(得分:1)
为什么不使用带索引的for循环,然后执行if语句来限制显示?
如:
@{
string folderPath = Server.MapPath("/media");
string[] files = Directory.GetFiles(folderPath + "/" + Model.Content.GetPropertyValue("Name"));
}
@for(int i =0; i < files.Length; i++)
{
var item = files[i];
<li data-src="/media/@Model.Content.GetPropertyValue("Name")/@Path.GetFileName(item)" data-sub-html="">
<a href="">
// when index is 0 and 1 (first two), render image
@if(i <= 1)
{
<img src="/media/@Model.Content.GetPropertyValue("Name")/@Path.GetFileName(item)"/>
}
</a>
</li>
}