Das Modellelement ist vom Typ CookMeIndexViewModel, erfordert jedoch ein Modellelement vom Typ IEnumerable & lt; CookMeIndexViewModel & gt;
Bin ich zusammen mit dem music store Beispiel, um zu versuchen zu lernen ASP.NET MVC. Ich bin momentan dabei, ein Kochbuch-Anwendung.
Ich habe meine viewmodel, das wie folgt aussieht:
namespace CookMe_MVC.ViewModels
{
public class CookMeIndexViewModel
{
public int NumberOfReceipes { get; set; }
public List<string> ReceipeName { get; set; }
}
}
mein controller sieht aus wie diese
public ActionResult Index()
{
var meals= new List<string> { "Dinner 1", "Dinner 2", "3rd not sure" };
//create the view model
var viewModel = new CookMeIndexViewModel
{
NumberOfReceipes = meals.Count(),
ReceipeName = meals
};
return View(viewModel);
}
Schließlich meine Ansicht sieht so aus
@model IEnumerable<CookMe_MVC.ViewModels.CookMeIndexViewModel>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th></th>
<th>
Meals
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
<td>
@item.ReceipeName
</td>
</tr>
}
</table>
Bekomme ich diesen Fehler.
Den Modell-Element, übergeben das Wörterbuch ist vom Typ
CookMeIndexViewModel
aber dieses Wörterbuch benötigt ein Modell-Element vom TypIEnumerable<CookMeIndexViewModel>
.
Ich folgten dem Beispiel. Ich kann nicht sehen, was ich falsch mache. Sollte ich zurückkehren, mein viewmodel als eine generische Liste?
InformationsquelleAutor der Frage Diver Dan | 2011-01-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrer Ansicht, die Sie verwenden
@model IEnumerable<CookMe_MVC.ViewModels.CookMeIndexViewModel>
was bedeutet, dass das model erwartet, dass durch die View ist vom Typ IEnumerable der CookMeIndexViewModel.Jedoch in den controller übergeben ein Objekt vom Typ CookMeIndexViewModel als Modell
return View(viewModel);
daher der Fehler.Entweder ändern Sie die Ansicht zu haben
@model CookMe_MVC.ViewModels.CookMeIndexViewModel
oder pass ein IEnumerable der CookMeIndexViewModel als Modell zur Ansicht in der Steuerung wie unten angegeben:
InformationsquelleAutor der Antwort Chandu
Bekam ich diese Meldung, wenn ich hatte einen Konflikt zwischen dem, was der @model-Direktive in der _Layout.cshtml-layout-Ansicht und eine "innere Seite" Blick.
Die _Layout.cshtml hatte-Richtlinie..
Meinem inneren Seite hatte...
Ich auf Arbeit ein paar test /experiment-code ein und drücken Sie diese Frage, habe ich eine neue controller etc. Es war nur, als ich umbenannt Model-Objekt und kompiliert danach, fand ich die Quelle des Problems.
Hoffe, das hilft.
F.
InformationsquelleAutor der Antwort David Quinlan
in kendo ui Grid-do :
Ganzzahl.ascx in Shared/EditorTemplate Ordner tun :
InformationsquelleAutor der Antwort ehsan gholami kenari