我的模型总是空的,为什么? ASP.Net MVC

时间:2013-02-15 11:30:23

标签: c# 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循环时发生错误。有什么问题?

1 个答案:

答案 0 :(得分:2)

因为你没有初始化它

   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
     }