查看错误@Foreach(var item ...)模型/控制器/视图

时间:2014-01-16 02:36:56

标签: asp.net asp.net-mvc view model controller

嘿,

我有一个看似愚蠢的问题,但我无法解决它,我不知道为什么我认为我会忽略它所以我需要一套新的眼睛。

我有一个模特班:

namespace LaatsteStudentWebAPI.Models
{
    public class Student
    {
        public int StudenNr { get; set; }
        public string Naam { get; set; }
        public string Woonplaats { get; set; }
        public string Adres { get; set; }
        public int TelefoonNr { get; set; }
        public string School { get; set; }
    }
}

和控制器:

namespace LaatsteStudentWebAPI.Controllers
{
    public class ArticleController : Controller
    {
        private List<Student> students = new List<Student>();
        private int _nextId = 1;
        SqlConnection con;
        SqlDataAdapter da;
        DataSet ds = new DataSet();

        public ActionResult Index()
        {
            SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
            da = new SqlDataAdapter("SELECT StudentNr, Naam, Woonplaats, Adres, TelefoonNr, School FROM [Table] ORDER BY StudentNr DESC", con);
            da.Fill(ds);
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                students.Add(new Student() { StudenNr = int.Parse(dr[0].ToString()), Naam = dr[1].ToString(), Woonplaats = dr[2].ToString(), Adres = dr[3].ToString(), TelefoonNr = int.Parse(dr[4].ToString()), School = dr[5].ToString() });
            }
            return View(students);

        }
    }
}

观点:

@model  IEnumerable<LaatsteStudentWebAPI.Models.Student>

@{
    ViewBag.Title = "Index";
}

<h2>This is the Index</h2>
<table>

    <thead>
        <tr>
            <td>StudentNummer</td>
            <td>Naam</td>
            <td>Woonplaats</td>
            <td>Adres</td>
            <td>Telefoonnummer</td>
            <td>School</td>
        </tr>
    </thead>

@foreach (var item in LaatsteStudentWebAPI.Models.Student)
{
    <tr>
        <td>@item.StudenNr</td>
        <td>@item.Naam</td>
        <td>@item.Woonplaats</td>
        <td>@item.Adres</td>
        <td>@item.TelefoonNr</td>
        <td>@item.School</td>


    </tr>

}
</table>

现在我的问题是,当我运行它时,一切看起来都没问题,(我知道它的杂乱代码,但只是想让它工作) 但我得到这个问题/错误。

  

描述:编译资源期间发生错误   需要为此请求提供服务。请查看以下具体内容   错误详细信息并适当修改源代码。

     

编译器错误消息:CS0119:'LaatsteStudentWebAPI.Models.Student'   是一个'类型',在给定的上下文中无效

Line 20: 
Line 21: 
Line 22: @foreach (var item in LaatsteStudentWebAPI.Models.Student)
Line 23: {
Line 24:     <tr>

出了什么问题它必须是一个我想的小问题,希望很容易解决,我希望你们不能帮助我。

1 个答案:

答案 0 :(得分:1)

您正在尝试遍历Student,但您的模型是IEnumerable<Student>。尝试循环遍历Model

@foreach (var item in Model)
{
    <tr>
        <td>@item.StudenNr</td>
        <td>@item.Naam</td>
        <td>@item.Woonplaats</td>
        <td>@item.Adres</td>
        <td>@item.TelefoonNr</td>
        <td>@item.School</td>       
    </tr>    
}