-1
ViewBagからループする必要があり、その子カテゴリリストの下でMainCategoryにアクセスする必要があります。あなたはコントローラからアイデアを得ることができます。しかし、私は子供のカテゴリ項目にアクセスする際に問題を抱えています。このエラーは、ユーザーが手を出していないことを示します。より明確なアイデアを得るには、下の画像をご覧ください。質問は大歓迎です。オブジェクト内のViewBagオブジェクトにアクセスできない
コントローラー:
public ActionResult Index()
{
using (var ctx = new db_zikanalyticsEntities())
{
var vmCats = new List<CategriesViewModel>();
var l1cats = ctx.Level1Cats.ToList();
var l2cats = ctx.Level2Cats.ToList();
foreach (var l1 in l1cats)
{
var catObj = new CategriesViewModel { Level1CatsName = l1.Name };
foreach (var l2 in l2cats)
{
if (l1.Level1CatId == l2.Level1CatId)
{
catObj.Level2CatsList.Add(new Level2Cats
{
Level2CatId = l2.Name,
Name = l2.Name,
Level1CatId = l2.Level1CatId,
Updated = l2.Updated
});
}
}
vmCats.Add(catObj);
}
ViewBag.MainCategory = vmCats;
return View();
}
}
ビュー:
@foreach (var item in ViewBag.MainCategory)
{
<div class="col-md-3">
<div class="mainCategory">
<h4><u>
<b>@item.Level1CatsName</b>
</u></h4>
<h4>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star" aria-hidden="true"></i>
<i class="fa fa-star-half-o" aria-hidden="true"></i>
<i class="fa fa-star-o" aria-hidden="true"></i>
</h4>
<div class="row">
<div class="col-lg-1">
<ul>
@foreach (var item2 in ViewBag.MainCategory.Level2CatsList)
{
<li>@item2.Name</li>
}
</ul>
</div>
</div>
</div>
</div>
}