2010-02-25 133 views
1

我有一个ASP.NET MVC应用程序,我在其中通过Linq结果集进行迭代。结果集中的每一行都包含一个属性,它是一个EntitySet本身。当我尝试遍历内部结果集时,尝试加载页面时收到错误消息:“无效的对象名称EntitySetOfSubItem”。我如何处理这个集合?ASP.NET MVC迭代集合中的集合

<% foreach item in Model { %> 
    ... code 
    <% foreach subitem in item.EntitySetOfSubItems { %> 
+1

预期有括号。 – 2010-02-25 19:48:19

+0

你是对的。实际的代码有();认为它是作者的一个抄写错误。 – 2010-02-25 20:29:03

回答

1

你会做这样的事情:

<% foreach(YourType item in Model) { %> 
    ... code 
    <% foreach(OtherType subitem in item.EntitySetOfSubItems) { %> 

通过键入迭代变量,你告诉编译器什么属性都可以在子项。

+0

我试过了,现在正在收到一个编译错误,指出“找不到类型或命名空间名'OtherType'(你是否缺少指令或程序集引用?”) – 2010-02-25 20:27:46

+0

好了 - 给了完全合格的AssemblyName.Models。 OtherType现在又回到原来的错误信息。 foreach(AssemblyName.Models.OtherType subitem ...) – 2010-02-25 20:32:34

+0

那么,如果是这样的话,你的“OtherType”可能实际上并没有那个属性。你可以“导航到”“OtherType”并验证实际上是否存在“EntitySetOfSubItems”属性? – 2010-02-25 20:43:17