我有一個控制器,回短信MVC視圖拋出一個錯誤
public ActionResult MainMenu()
{
var myDataOp = new DataBaseOperations();
var Message=myDataOp.GetMessages();
return View(Message);
}
的名單下面是獲取列表
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;
}
然後我用在瀏覽網頁我的列表功能。
@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>
}
我得到一個錯誤,當我在瀏覽器上
傳遞到字典的模型項的類型爲「運行視圖頁面System.Collections.Generic.List` 1 [Princelys.Models.ViewClass]',但是這個字典需要一個'Princelys.Models.ViewClass'類型的模型項。
這是保持性能的類
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;
}
這是我的第一個MVC 5項目。任何幫助將不勝感激。
我爲模型聲明: @model Princelys.Models.ViewClass –
的信息是自我解釋。你將'List'傳遞給期望單個'ViewClass'的視圖。更改一個或另一個以使它們匹配 –
您沒有提供足夠的有關您的視圖渲染的信息,但是我懷疑您的方法需要是'public ViewClass GetMessages()',它包含'return myViewList;'(不'返回myViewList。 myMessage;') –