获取错误 foreach 语句无法对类型 'xyz' 的变量进行操作,因为 'xyz' 不包含 'GetEnumerator' 的 public 定义
Getting error foreach statement cannot operate on variables of type 'xyz' because 'xyz' does not contain a public definition for 'GetEnumerator'
我已经创建了一个基于 EpiServer LinkItemCollection 的模型:
namespace ProjectX.Site.Models.Blocks
{
[SiteContentType(
GUID = "b9978bf2-f3da-4164-8fa2-3694c2ce0377",
AvailableInEditMode = false)]
[SiteImageUrl]
public class CustomTopNavigationItemtBlock : SiteBlockData
{
[CultureSpecific]
[MinItemCount(0)]
[MaxItemCount(2)]
[Display(Order = 10)]
public virtual LinkItemCollection CustomTopNavigationLinks { get; set; }
public override int WordCount
{
get => throw new System.NotImplementedException();
set => throw new System.NotImplementedException();
}
}
}
我正在尝试为其创建共享视图:
@model CustomTopNavigationItemtBlock
@if (Model != null)
{
@foreach (var linkItem in Model)
{
<li>
<a class=""
href="@Url.PageUrl(linkItem.Href)"
target="@linkItem.Target"
title="@linkItem.Title"
tabindex="1"
data-toggle=""
role="button">
@linkItem.Text
</a>
</li>
}
}
不幸的是我不明白我做错了什么。
在这里,您正试图遍历 Model
:
foreach (var linkItem in Model)
但是,Model
是类型 CustomTopNavigationItemtBlock
,不能使用 foreach
迭代,因为它没有实现 IEnumerable
。
您似乎在尝试遍历 CustomTopNavigationLinks
属性,可以这样做:
foreach (var linkItem in Model.CustomTopNavigationLinks)
我已经创建了一个基于 EpiServer LinkItemCollection 的模型:
namespace ProjectX.Site.Models.Blocks
{
[SiteContentType(
GUID = "b9978bf2-f3da-4164-8fa2-3694c2ce0377",
AvailableInEditMode = false)]
[SiteImageUrl]
public class CustomTopNavigationItemtBlock : SiteBlockData
{
[CultureSpecific]
[MinItemCount(0)]
[MaxItemCount(2)]
[Display(Order = 10)]
public virtual LinkItemCollection CustomTopNavigationLinks { get; set; }
public override int WordCount
{
get => throw new System.NotImplementedException();
set => throw new System.NotImplementedException();
}
}
}
我正在尝试为其创建共享视图:
@model CustomTopNavigationItemtBlock
@if (Model != null)
{
@foreach (var linkItem in Model)
{
<li>
<a class=""
href="@Url.PageUrl(linkItem.Href)"
target="@linkItem.Target"
title="@linkItem.Title"
tabindex="1"
data-toggle=""
role="button">
@linkItem.Text
</a>
</li>
}
}
不幸的是我不明白我做错了什么。
在这里,您正试图遍历 Model
:
foreach (var linkItem in Model)
但是,Model
是类型 CustomTopNavigationItemtBlock
,不能使用 foreach
迭代,因为它没有实现 IEnumerable
。
您似乎在尝试遍历 CustomTopNavigationLinks
属性,可以这样做:
foreach (var linkItem in Model.CustomTopNavigationLinks)