我有一个名为 Models 的列表,其中包含 ID、Title、Variants。 Variants 是一个列表,其中包含另一个元素 Id、ModelID、Title。 我的问题是如何遍历 Variants 列表,它是模型的子列表。
存储库.cs
public class Repository : IRepository
{
private List<ModelSearch> _list = new List<ModelSearch>();
public Repository()
{
populateList();
}
private void populateList()
{
_list.Add(new ModelSearch
{
ID = 1,
Title = "Scorpio",
Variants = new List<Variant> {
new Variant { ID = 1, ModelID = 1, Title="scorpio1" },
new Variant { ID = 2, ModelID = 1, Title="scorpio2" },
new Variant { ID = 3, ModelID = 1, Title="scorpio3" }
}
});
_list.Add(new ModelSearch
{
ID = 2,
Title = "Bolero",
Variants = new List<Variant> {
new Variant { ID = 1, ModelID = 2, Title="Bolero1" },
new Variant { ID = 2, ModelID = 2, Title="Bolero2" },
new Variant { ID = 3, ModelID = 2, Title="Bolero3" }
}
});
}
public IEnumerable<ModelSearch> GetAll()
{
return _list.AsEnumerable();
}
}
这是我的 Index.cshtml 文件:
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Variants.First().Title)
</td>
</tr>
}
我还想与此表一起显示相应的变体。我怎样才能做到这一点?
模型搜索 Controller .cs
public class ModelSearchController : Controller
{
private IRepository _repo;
public ModelSearchController()
{
_repo = new Repository.Repository();
}
public IActionResult Index()
{
var modelList = _repo.GetAll(
return View(modelList);
}
}
最佳答案
如果你只是想显示所有变体标题,那么你需要一个内部循环,例如这里我将标题放在 ul
元素中:
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ID)
</td>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
<ul>
@foreach(var variant in item.Variants)
{
<li>@variant.Title</li>
}
</ul>
</td>
</tr>
}
关于c# - 在 C# 的列表中循环遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51047205/