我使用kendo tab strip并尝试显示模型集合的每个项目的选项卡。
@if (Model.Entities.Count > 1)
{
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(items =>
{
for (int i = 0; i < Model.Entities.Count; i++)
{
items.Add()
.Text(Model.Entities[i].Name)
.Selected(i == 0)
.Content(@<div>
@Model.Entities[i].Name //causes exception
</div>
);
}
})
)
}
标签内容中的标记(@model.entities [i] .name(导致异常。
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
有人知道我在做错什么或如何正确实施吗?
您遇到了外部变量陷阱。
这对我有用:
@if (Model.Entities.Count > 1)
{
@(Html.Kendo().TabStrip()
.Name("tabstrip")
.Items(items =>
{
for (int i = 0; i < Model.Entities.Count; i++)
{
var i1 = i;
items.Add()
.Text(Model.Entities[i].Name)
.Selected(i == 0)
.Content(@<div>
@Model.Entities[i1].Name
</div>
);
}
})
)
}