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 № 1Tutaj 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>