2010-02-25 2 views
1

У меня есть приложение ASP.NET MVC, в котором я выполняю повторение с помощью набора результатов Linq. Каждая строка в наборе результатов содержит свойство, которое является самим EntitySet. Когда я пытаюсь выполнить итерацию во внутреннем наборе результатов, появляется сообщение об ошибке: «Неверное имя объекта EntitySetOfSubItem» при попытке загрузить страницу. Как обрабатывать эту коллекцию?ASP.NET MVC итерации через коллекцию в коллекции

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

Скорлупа ожидается. –

+0

Вы правы. Фактический код имеет(); считайте это ошибкой транскрипции со стороны автора. –

ответ

1

Вы бы сделать это что-то вроде этого:

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

Введя переменные итерации, вы сообщаете компилятор, что атрибуты доступны на подэлементе.

+0

Я пробовал это, и теперь я получаю ошибку компиляции, в которой указано, что «Тип или имя пространства имен« OtherType »не удалось найти (вам не хватает директивы или ссылки на сборку?)« –

+0

Ок - предоставил полностью собранные AssemblyName.Models. OtherType и вернемся к исходному сообщению об ошибке. foreach (AssemblyName.Models.OtherType subitem ...) –

+0

Ну, если это так, ваш «OtherType», вероятно, на самом деле не имеет этого свойства. Могли бы вы «перейти» к «OtherType» и убедиться, что на самом деле есть свойство EntitySetOfSubItems? –

Смежные вопросы