[英]Find item from Viewbag.List
我的控制器代码如下
ViewBag.Districts = (from a in _dbContext.DISTRICTS
select new ComboItem {
ID = a.DISTRICT_ID,
Name = a.DISTRICT_NAME
}
).ToList();
我的Razor View代码如下
@foreach (var dist in ViewBag.Districts)
{
if (item.DISTRICT_ID == dist.ID)
{
@dist.Name
}
}
有没有一种方法可以在ViewBag.Districts中找到项目,例如ViewBag.Districts.where(m=>m.ID==item.DISTRICT_ID.
或linq表达式,这样我可以避免循环。任何人都可以帮助我,不胜感激。
Viewbag
是动态的,因此编译器将无法识别其实际类型,因此您需要像这样的显式类型转换才能使用Enumerable方法:
((IEnumerable<ComboItem>)ViewBag.Districts).Where(x => x.ID == item.DISTRICT_ID);
我假设您想在View
使用它,而且您发布的foreach
循环在没有显式强制转换的情况下将无法工作:
@foreach (var dist in (IEnumerable<ComboItem>)ViewBag.Districts)
{
if (item.DISTRICT_ID == dist.ID)
{
@dist.Name
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.