/ / Przekazany element modelu jest typu 'System.Collections.Generic.List, ale ten słownik wymaga' System.Collections.Generic.IEnumerable - asp.net-mvc, asp.net-mvc-4, asp.net-mvc-controller

Przekazany element modelu ma typ "System.Collections.Generic.List, ale ten słownik wymaga" System.Collections.Generic.IEnumerable - asp.net-mvc, asp.net-mvc-4, asp.net-mvc-controller

Jestem nowicjuszem i uzyskanie elementu modelu błędu przekazanego do katalogu jest typu system.cllection.generic.list, ale ten katalog wymaga systemu.collection.ienumerable

Pomóż mi rozwiązać ten błąd. Wklejam kontroler i wyświetlam tutaj

Kontroler

      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");
}

Widok

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

Odpowiedzi:

0 dla odpowiedzi № 1

Tutaj powracasz do listy typów Zobowiązania:

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

podczas gdy w twoim widoku jest silnie wpisany do Modelu typu IEnumerable<MyYello.Admin.Models.CallNote>

W Widoku napisałeś, więc koliduje z Tobą Widok oczekuje innego typu podczas przechodzenia przez inny typ:

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

powinieneś wrócić IEnumerable<MyYello.Admin.Models.CallNote> z akcji lub jeśli chcesz przekazać komentarze, a następnie zmień w widoku:

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