传递的模型项的类型为"System.Collections.Generic.List",但此字典需要"System.Collections.Generic.IEnumerable



我是新手,获得传入目录类型为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>

返回类型为 comments :

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

而在您的视图中是强类型为IEnumerable<MyYello.Admin.Models.CallNote>类型的Model

在视图中你已经写了,所以它冲突你的视图期望不同的类型,而你传递不同的类型:

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

你应该从你的动作中返回IEnumerable<MyYello.Admin.Models.CallNote>,或者如果你需要传递Comments类型,那么在View中更改:

@model List<MyYello.Admin.Models.Comments>

相关内容

  • 没有找到相关文章

最新更新