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

Posted

技术标签:

【中文标题】查看错误@Foreach (var item...) 模型/控制器/视图【英文标题】:View Error @Foreach (var item...) Model/Controller/View 【发布时间】:2014-01-16 02:36:55 【问题描述】:

嘿,

我有一个看起来很愚蠢的问题,但我无法解决它,而且我不知道为什么我认为我忽略了它,所以我需要一双新的眼睛。

我有一个模型类:

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】:

您正在尝试循环访问 Student,但您的模型是 IEnumerable&lt;Student&gt;。尝试循环遍历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>    

【讨论】:

收到此错误:App_Web_jkxy3fxw.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理其他信息:对象引用未设置为对象的实例。 在同一行,在模型一词处。所以我将代码更改为:@foreach (LaatsteStudentWebAPI.Models.Student item in Model) 但仍然是同样的错误 可能你需要清理和重新编译。我已经测试了代码,它工作正常。

以上是关于查看错误@Foreach (var item...) 模型/控制器/视图的主要内容,如果未能解决你的问题,请参考以下文章

c:forEach item="lists" var="list"是自定义标签,怎么取不到值 ?

PHP foreach循环和数据检索

关于java中c标签foreach的用法?

关于java中c标签foreach的用法?

关于java中c标签foreach的用法?

foreach循环