2010-02-25 210 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