Razor MVC 从模型中获取单个项目
Razor MVC get single item from Model
我对 Razor/MVC 东西很陌生,所以我有一个非常基本的问题。
我知道我可以在局部视图中循环遍历模型
@foreach (var e in Model.Modelname)
{
e.ModelProperty
}
我想做的不是像上面那样遍历模型中的所有项目,而是从模型中获取一个(如果有多个,则为第一个)项目。
我意识到我可以这样写:
@foreach (var e in Model.Modelname)
{
e.ModelProp.First()
}
然而,为了从模型中获取 1 个项目而不得不编写一个循环似乎很愚蠢..而且在有人说你为什么不写
之前
e.ModelProp
因为很多时候,我需要获取模型中的属性,而在编写之间我会得到一组完全不同的属性(通常更全面)
Model.ItemProp
or
foreach (var e in Model.Modelname)
{
e.ItemProp
}
所以我想我真正想问的是如何获得那些单独的属性,就像我可以在 Model.Modelname 中使用 var e 一样,而不必遍历模型?
我试过
var e = Model.Modelname;
e.ModelProp
但显然这不起作用
谢谢!
您似乎在尝试获取 Modelname 的第一项,然后是 Modelname 的第一项的第一项 属性:
Model.Modelname.First().ModelProp.First()
如果您只想要 Modelname 中的第一个对象,然后是特定的 属性:
Model.Modelname.First().ModelProp
少加。该列表可能为空,因此添加空检查:
Model.Modelname.FirstOrDefault()?.ModelProp ?? ""
如果你想获得 ModelProp 的所有第一项,那么
Model.Modelname.Select(x=> x.ModelProp.FirstOrDefault())
如果要获取第一个ModelName的第一个ModelProp:
Model.Modelname.FirstOrDefault(x=> x.ModelProp.FirstOrDefault())
我对 Razor/MVC 东西很陌生,所以我有一个非常基本的问题。
我知道我可以在局部视图中循环遍历模型
@foreach (var e in Model.Modelname)
{
e.ModelProperty
}
我想做的不是像上面那样遍历模型中的所有项目,而是从模型中获取一个(如果有多个,则为第一个)项目。
我意识到我可以这样写:
@foreach (var e in Model.Modelname)
{
e.ModelProp.First()
}
然而,为了从模型中获取 1 个项目而不得不编写一个循环似乎很愚蠢..而且在有人说你为什么不写
之前 e.ModelProp
因为很多时候,我需要获取模型中的属性,而在编写之间我会得到一组完全不同的属性(通常更全面)
Model.ItemProp
or
foreach (var e in Model.Modelname)
{
e.ItemProp
}
所以我想我真正想问的是如何获得那些单独的属性,就像我可以在 Model.Modelname 中使用 var e 一样,而不必遍历模型?
我试过
var e = Model.Modelname;
e.ModelProp
但显然这不起作用
谢谢!
您似乎在尝试获取 Modelname 的第一项,然后是 Modelname 的第一项的第一项 属性:
Model.Modelname.First().ModelProp.First()
如果您只想要 Modelname 中的第一个对象,然后是特定的 属性:
Model.Modelname.First().ModelProp
少加。该列表可能为空,因此添加空检查:
Model.Modelname.FirstOrDefault()?.ModelProp ?? ""
如果你想获得 ModelProp 的所有第一项,那么
Model.Modelname.Select(x=> x.ModelProp.FirstOrDefault())
如果要获取第一个ModelName的第一个ModelProp:
Model.Modelname.FirstOrDefault(x=> x.ModelProp.FirstOrDefault())