查看错误@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<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>
【讨论】:
收到此错误:App_Web_jkxy3fxw.dll 中出现“System.NullReferenceException”类型的异常,但未在用户代码中处理其他信息:对象引用未设置为对象的实例。 在同一行,在模型一词处。所以我将代码更改为:@foreach (LaatsteStudentWebAPI.Models.Student item in Model) 但仍然是同样的错误 可能你需要清理和重新编译。我已经测试了代码,它工作正常。以上是关于查看错误@Foreach (var item...) 模型/控制器/视图的主要内容,如果未能解决你的问题,请参考以下文章