在我的对象列表中,我几乎没有相似的属性。
week1 week2 译员更加 week4 week5 ...
我希望能够根据用户选择的周数在表格中显示它们。
我的想法是使用如下所示的循环,但我不能将“i”添加到@ data.week#number
@for (var i = 0; i < Model.numberOfWeeks; i++)
{
<td>@data.week@i.name</td>
}
有没有办法可以使用“i”的增量将其添加到对象名称?
答案 0 :(得分:2)
您不能使用变量来构造变量名称。名称必须保持静态。如果你真的需要反思,但这不是最好的选择。
改为使用字典或列表,以便require.js
起作用。
答案 1 :(得分:1)
为什么你有属性值?无论如何,如果你真的需要迭代属性并输出它们的值,你可以尝试使用反射:
<td>@(data.GetType().GetProperty("week" + i).GetValue(data, null))</td>
但这是一种不好的做法。我强烈建议您更改数据对象和视图模型。