【问题标题】:Error: IEnumerable<CommonViewModel>' does not contain a definition for '<Propertyof Modelclass>错误:IEnumerable<CommonViewModel>' 不包含'<Propertyof Modelclass> 的定义
【发布时间】:2017-03-20 20:54:42
【问题描述】:

我有一个包含其他模型列表的 commonViewModel。 我无法通过 foreach 在我的视图中引用 commonViewModel 中的模型列表, 非常感谢您的帮助! 这是我的看法:

@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。

错误 CS1061“IEnumerable”不包含“Question1”的定义,并且找不到接受“IEnumerable”类型的第一个参数的扩展方法“Question1”(您是否缺少 using 指令或程序集引用?)

【问题讨论】:

  • 你能告诉我们控制器中的方法是怎样的吗?还有问题课。因为您试图从 CommonViewModel 的 Queston1 属性中获取价值属性 Question1。

标签: asp.net asp.net-mvc


【解决方案1】:

您的视图模型是一个IEnumerable&lt;CommonViewModel&gt;,它又具有一个属性Question1

所以你不能直接迭代Model.Question1,因为ModelIEnumerable&lt;CommonViewModel&gt;

所以你需要循环两次:

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

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多