gpt4 book ai didi

asp.net-mvc - 如何在 IEnumerable 类型的 Razor View 中访问模型属性?

转载 作者:行者123 更新时间:2023-12-04 14:40:57 24 4
gpt4 key购买 nike

如何在不使用循环的情况下访问 IEnumerable 类型的 Razor View 中的模型属性(如 @Html.EditorFor(x=>Model.Name))?模型持有模型作为一个列表。
例如。

@model IEnumerable<EFTest2.DAL.package_master>


那么是否可以在不使用 foreach 循环的情况下显示 TestBoxFor 或 EditorFor(以创建新模型)Html 帮助器???

最佳答案

当某些模型属性的类型为 IEnumerable<SomeType> 时您通常会定义一个编辑器/显示模板( ~/Views/Shared/EditorTemplates/SomeType.cshtml~/Views/Shared/DisplayTemplates/SomeType.cshtml )。该模板将自动为集合中的每个元素呈现,因此您无需编写循环:

@Html.EditorFor(x => x.SomeCollection)

在模板中,您将能够访问各个属性:

@model SomeType
@Html.EditorFor(x => x.Name)
...

现在,如果您绝对需要直接访问强类型为 IEnumerable<SomeType> 的 View 中的某些元素您最好使用其他一些集合类型,例如 IList<SomeType>SomeType[]作为 View 模型,它可以让你通过索引直接访问元素,你将能够这样做,例如访问集合的第 6 个元素:

@model IList<SomeType>
@Html.EditorFor(x => x[5].Name)

关于asp.net-mvc - 如何在 IEnumerable 类型的 Razor View 中访问模型属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8652082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com