我的模型始终为空,为什么? ASP.Net MVC
问题描述:
这是我的模型:我的模型始终为空,为什么? ASP.Net MVC
public class Stages
{
public int Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string Des { get; set; }
public string View_Count { get; set; }
}
我的控制器:
public ActionResult ViewStages()
{
return View();
}
而我的观点:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<IEnumerable<Project.Models.Stages>>" %>
//Some Code...
<% foreach (var item in Model)
{ %>
<tr>
<td>
<%: Html.DisplayFor(modelItem => item.Code)%>
</td>
<td>
<%: Html.DisplayFor(modelItem => item.Name)%>
</td>
<td>
<%: Html.DisplayFor(modelItem => item.Des)%>
</td>
<td>
<%: Html.DisplayFor(modelItem => item.View_Count)%>
</td>
<td>
<%: Html.ActionLink("Edit", "Edit", new { id = item.Id })%> |
<%: Html.ActionLink("Details", "Details", new { id = item.Id })%> |
<%: Html.ActionLink("Delete", "Delete", new { id = item.Id })%>
</td>
</tr>
<% }%>
</table>
</asp:Content>
,我总是得到这样的错误:对象引用未设置到一个对象的一个实例。 ,并且在到达foreach循环时发生错误。问题是什么?
答
因为你没有初始化
public ActionResult ViewStages()
{
//this initialize your model
var viewModel=new List<Stages>()
{
new Stages()
{
Id = 1,
Code = "any code",
//etc
}
};
return View(viewModel); //you have to pass the model to the view
}
好极了!非常感谢Massimiliano – Angelina 2013-02-15 11:37:15