/ / Prešiel položka modelu typu 'System.Collections.Generic.List, ale tento slovník vyžaduje' System.Collections.Generic.IEnumerable - asp.net-mvc, asp.net-mvc-4, asp.net-mvc-controller

Predaná položka modelu je typu "System.Collections.Generic.List", ale tento slovník vyžaduje "System.Collections.Generic.IEnumerable - asp.net-mvc, asp.net-mvc-4, asp.net-mvc-controller

Som nováčik a získanie položky chybového modelu odovzdanej do adresára je typu system.cllection.generic.list, ale tento adresár vyžaduje system.collection.ienumerable

Pomôžte mi vyriešiť túto chybu. Vložím svoj kontrolór a pozri sa sem

kontrolór

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

vyhliadka

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

odpovede:

0 pre odpoveď č. 1

Tu sa zobrazuje zoznam typov Commments:

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

zatiaľ čo vo vašom pohľade je silne napísaný na Model typu IEnumerable<MyYello.Admin.Models.CallNote>

V aplikácii View, ktorú ste napísali, takže konflikty, ktoré služba View očakáva, pri odosielaní iného typu očakávajú iný typ:

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

mali by ste sa vracať IEnumerable<MyYello.Admin.Models.CallNote> z vašej akcie alebo ak potrebujete vyhovieť typu komentárov, zmeňte zobrazenie v zobrazení:

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