我的模型始终为空,为什么? 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 
    } 
+0

好极了!非常感谢Massimiliano – Angelina 2013-02-15 11:37:15