/ /渡されたモデル項目は 'System.Collections.Generic.List型ですが、この辞書には' System.Collections.Generic.IEnumerable - asp.net-mvc、asp.net-mvc-4、asp.net-mvc-controllerが必要です。

渡されたモデル項目は 'System.Collections.Generic.List'型ですが、この辞書には 'System.Collections.Generic.IEnumerable - asp.net-mvc、asp.net-mvc-4、asp.net-mvc-controllerが必要です

初心者で、エラーモデルの項目をディレクトリに渡す方法はsystem.cllection.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>

回答:

回答№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> あなたの行動から、またはあなたがコメントタイプを渡す必要があるならば、それからビューで変更してください:

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