传递到字典中的模型项的类型为'System.Collections.Generic.List`1 [System.String]',但需要输入“Something else”类型

时间:2014-02-11 06:26:44

标签: c# asp.net-mvc

我使用以下代码..

控制器:

 public ActionResult Comments(int? Id)
    {
        var abccomment= db.xyzComments.Include(c=>c.XYZMasters);
     var comments = (from x in abccomment
                        where Id == x.CcId
                        select x.Comment).Distinct().ToList();

        return View(comments);
    } 

我的观点是

@model IEnumerable<Pharman.Models.XYZMaster>
@foreach (var item in Model)
    {

        @item.XYZComment.Comment
    }

我收到以下错误: 传递到字典中的模型项的类型为'System.Collections.Generic.List 1[System.String]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable 1 [farma.Models.XYZMaster]。

请帮助...... TIA

1 个答案:

答案 0 :(得分:7)

ViewModel的类型为IEnumerable<Pharman.Models.XYZMaster>,但您正在通过List<string>

您应该将ViewModel类型更改为IEnumerable<string>

然后:

@model IEnumerable<string>
@foreach (var comment in Model)
{

    @comment
}