0

我是新手,获取传递到目录的错误模型项的类型为 system.clection.generic.list 但此目录需要 system.collection.ienumerable

请帮我解决这个错误。我正在粘贴我的控制器并在此处查看

控制器

      public ActionResult DisplayComment()
    {
        var result = Manager.GetUsersWhoHaveConsumedFreeCredit();
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        var callHistory = serializer.Deserialize<List<CallHistory>>(result);
        YelloAdminDbContext db = new YelloAdminDbContext();
        if (callHistory != null)
        {
            foreach (var item in callHistory.ToList())
            {

                int Id = int.Parse(item.Login);
                var note = db.Note.OrderByDescending(i => i.Id).Where(i => i.LoginId == Id).FirstOrDefault();
                if (note != null && note.LoginId == Id)
                {
                    var temp = note.Comments.ToList();
                    return PartialView(temp);
                }
                else
                    return Content("No Comments");

                }

            }
        return Content("No Comments");
        }

看法

      @model IEnumerable<MyYello.Admin.Models.CallNote>


   <table>
<tr>

    <th>
        @Html.DisplayNameFor(model => model.Comments)
    </th>

    <th></th>
</tr>

 @foreach (var item in Model) {
    <tr>

    <td>
        @Html.DisplayFor(modelItem => item.Comments)
    </td>


    </tr>
  }

  </table>
4

1 回答 1

0

在这里,您将返回评论类型列表

var temp = note.Comments.ToList();
                    return PartialView(temp);

而在您看来是强类型的模型类型IEnumerable<MyYello.Admin.Models.CallNote>

在您编写的 View 中,因此与您在传递不同类型时 View 期望不同的类型发生冲突:

   @model IEnumerable<MyYello.Admin.Models.CallNote>

您应该IEnumerable<MyYello.Admin.Models.CallNote>从您的操作中返回,或者如果您需要传递 Comments 类型,然后在 View 中进行更改:

@model List<MyYello.Admin.Models.Comments>
于 2014-07-21T11:44:05.980 回答