ich einen Controller haben, die eine Liste der MeldungenMVC Ansicht wirft ein Fehler
public ActionResult MainMenu()
{
var myDataOp = new DataBaseOperations();
var Message=myDataOp.GetMessages();
return View(Message);
}
Hier ist die Funktion zurück, die die Liste
public List<ViewClass> GetMessages()
{
PrincelysDataContext pData = new PrincelysDataContext();
Princelys.Models.ViewClass myViewList =new ViewClass();
var myMessage =from r in pData.Messages select r;
DateTime presentTime = new DateTime();
foreach (var myValues in myMessage)
{
myViewList.myMessage.Add(new ViewClass
{
CreatedName ="ffff",// (from m in pData.Users where m.userid == myValues.createdBy select m.userName).Single(),
Messages = myValues.Message,
CreateOn = myValues.createddatetime.Subtract(presentTime)
});
}
return myViewList.myMessage;
}
ich dann mit meiner Liste in der Ansicht Seite bekommt.
@model Princelys.Models.ViewClass
....
@foreach (var messageValues in Model.myMessage)
{
<li class="left clearfix">
<span class="chat-img pull-left">
<img src="http://placehold.it/80/30a5ff/fff" alt="User Avatar" class="img-circle" />
</span>
<div class="chat-body clearfix">
<div class="header">
<strong class="primary-font">@messageValues.CreatedName</strong> <small class="text-muted">@messageValues.CreateOn.TotalHours mins ago</small>
</div>
<p>
@messageValues.Messages
</p>
</div>
</li>
}
Ich erhalte eine Fehlermeldung, wenn ich die Ansicht Seite in einem Browser laufen
Das Modellelement in das Wörterbuch übergeben ist vom Typ ‚System.Collections.Generic.List` 1 [Princelys.Models.ViewClass] ', aber für dieses Wörterbuch wird ein Modellelement vom Typ' Princelys.Models.ViewClass 'benötigt.
Dies ist die Klasse, die die Eigenschaften
public class ViewClass
{
public ViewClass()
{ myMessage = new List<ViewClass>(); }
public string CreatedName { get; set; }
public string Messages { get; set; }
public TimeSpan CreateOn { get; set; }
public List<ViewClass> myMessage;
}
Dies ist mein erstes MVC 5 Projekt halten. Jede Hilfe würde sehr geschätzt werden.
meine Erklärung für das Modell ist: @model Princelys.Models.ViewClass –
Die Botschaft ist selbsterklärend. Sie übergeben 'List 'an eine Ansicht, die eine einzelne' ViewClass' erwartet. Ändern Sie das eine oder das andere so, dass sie übereinstimmen –
Sie haben nicht genügend Informationen über die Darstellung Ihrer Ansicht angegeben, aber ich vermute, dass Ihre Methode 'public ViewClass GetMessages()' sein muss, die 'return myViewList;' (nicht 'return myViewList. myMessage; ') –