[英]Foreach Loop - Display items differently, first 3 item, items 4-6 etc
我希望這將是一個簡單的..
我在MVC視圖中有一個項目列表,對於前3個我想在里面顯示項目6-10的項目。
示例如下:
@foreach (var Article in @Model.ContentList)
{
// for Items 1 - 3
<h1>@Article.Title</h1>
// for Items 4 - 7
<h2>@Article.Title</h2>
// for Items 7 +
<h3>@Article.Title</h3>
}
在我的觀點中,最好的方法是什么?
使用for循環而不是foreach。
@for ( int i = 0; i < Model.ContentList.Count; i++ )
{
var Article = Model.ContentList[i];
if ( i < 3 ){
// for Items 1 - 3
<h1>@Article.Title</h1>
} else if ( i < 7 ){
// for Items 4 - 7
<h2>@Article.Title</h2>
} else {
// for Items 7 +
<h3>@Article.Title</h3>
}
}
我認為更好的答案是重新設計你的model
。
Article
類本身應包含其具有的標題類型,例如...
public class Article
{
public string Title { get; set; }
public string Type { get; set; } // for example
}
然后在你的視野內
@foreach (var Article in @Model.ContentList)
{
if(Article.Type == "Big")
{
<h1>@Article.Title</h1>
}
else if(Article.Type == "Medium")
{
<h2>@Article.Title</h2>
}
else if(Article.Type == "Small")
{
<h3>@Article.Title</h3>
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.