C# Can';无法访问对象内部的ViewBag对象
我必须从ViewBag循环,并需要访问其子类别列表下的MainCategory。您可以从控制器获得想法。但我在访问我的子类别项时遇到问题。该错误表示用户未受伤害。请看下面的图片以获得更清楚的想法。欢迎提出任何问题 控制器:C# Can';无法访问对象内部的ViewBag对象,c#,asp.net-mvc,C#,Asp.net Mvc,我必须从ViewBag循环,并需要访问其子类别列表下的MainCategory。您可以从控制器获得想法。但我在访问我的子类别项时遇到问题。该错误表示用户未受伤害。请看下面的图片以获得更清楚的想法。欢迎提出任何问题 控制器: public ActionResult Index() { using (var ctx = new db_zikanalyticsEntities()) { va
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();
}
}
public ActionResult Index()
{
使用(var ctx=new db_zikanalyticities())
{
var vmCats=新列表();
var l1cats=ctx.Level1Cats.ToList();
var l2cats=ctx.Level2Cats.ToList();
foreach(l1cats中的变量l1)
{
var catObj=newcategriesviewmodel{Level1CatsName=l1.Name};
foreach(l2类中的变量l2)
{
如果(l1.Level1CatId==l2.Level1CatId)
{
catObj.Level2CatsList.Add(新的Level2Cats
{
Level2CatId=l2.Name,
Name=l2.Name,
Level1CatId=l2.Level1CatId,
更新=l2。更新
});
}
}
vmCats.Add(catObj);
}
ViewBag.MainCategory=vmCats;
返回视图();
}
}
视图:
@foreach(ViewBag.main类别中的变量项)
{
@item.Level1CatsName
@foreach(ViewBag.MainCategory.Level2CatsList中的变量项2)
{
- @项目2.名称
}
}
这似乎是问题所在:
@foreach (var item2 in ViewBag.MainCategory.Level2CatsList)
要使其成为正确的代码级别2CatsList,需要是MainCategory类的静态成员。是否所有MainCategory实例都具有相同的Level2CatsList值
你的意思很可能是:
@foreach (var item2 in item.Level2CatsList)
如果Level2Cats列出一个实例成员,则上述内容是正确的
您可能希望包含MainCategory的类def
@foreach (var item2 in item.Level2CatsList)