2016-11-07 1 views
0

У меня есть commonViewModel, который содержит Список других моделей. Я не могу отсылать Список моделей, которые находятся в commonViewModel в моем представлении через foreach, Очень ценю вашу помощь! Вот мой Вид:Ошибка: IEnumerable <CommonViewModel> 'не содержит определения для' <Propertyof Modelclass>

@model IEnumerable<MvcApplication1.ViewModels.Models.CommonViewModel> 

<h2>All types of questions asked here</h2> 

@foreach (var Mylist in Model.Question1) 
{ 
<li>@Mylist.Question1</li> 
} 

commonViewModel класс выглядит, как показано ниже

public class CommonViewModel 
{ 
    public List<Question> Question1 {get; set;} 
    public List<MenuItem> MenuItem { get; set; } 

} 

Вопрос класс выглядит следующим образом:

public partial class Question 
{ 
    public int id { get; set; } 
    public string question1 { get; set; } 
} 

Ошибка: Model.Question1 в View не идентифицирован.

Ошибка CS1061 «IEnumerable» не содержит определения для «Question1» и не используется метод расширения «Question1», принимающий первый аргумент типа «IEnumerable» (вам не хватает директивы using или ссылки на сборку?)

+0

Можете ли вы показать нам как метод в контроллере выглядит? И класс вопросов тоже. Потому что вы пытаетесь получить значение Property Question1 из свойства Queston1 для CommonViewModel. – QuietNaN

ответ

2

Ваша модель просмотра - IEnumerable<CommonViewModel>, которая, в свою очередь, имеет свойство Question1.

Таким образом, вы не можете напрямую перебирать Model.Question1, потому что Model является IEnumerable<CommonViewModel>.

Таким образом, вы будете нуждаться в цикле дважды:

foreach (var viewModel in Model) 
{ 
    foreach (var question in viewModel.Question1) 
    { 
     <li>@question.WhatEver</li> 
    } 
} 
+0

Спасибо за это, он сработал сразу –

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