C# 使用foreach的asp.net mvc中继器
我正在用ASP.NETMVC构建一个网站,我需要在表中保存表单的值,所以我使用foreach作为转发器,但我得到了一个错误 NullReferenceException:La référence d'objet n'est pas définieáune instance d'un objet。Resultat.cshtml+@foreach中的AspNetCore.Views\u Home\u Resultat.ExecuteAsync()(Model.Itemlst中的var项) 型号:C# 使用foreach的asp.net mvc中继器,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我正在用ASP.NETMVC构建一个网站,我需要在表中保存表单的值,所以我使用foreach作为转发器,但我得到了一个错误 NullReferenceException:La référence d'objet n'est pas définieáune instance d'un objet。Resultat.cshtml+@foreach中的AspNetCore.Views\u Home\u Resultat.ExecuteAsync()(Model.Itemlst中的var项) 型号: p
public class Customers
{
public int Id { get; set; }
public string Name { get; set; }
public List<Customers> Itemlst { get; set; }
}
视图:
@foreach(Model.Itemlst中的变量项)
{
项目ID:
@item.ID
项目名称:
@项目名称
}
身份证件:
姓名:
您应该初始化Itemlst
,如下所示:
public class Customers
{
public Customers()
{
Itemlst = new List<Customers>();
}
public int Id { get; set; }
public string Name { get; set; }
public List<Customers> Itemlst { get; set; }
}
公共类客户
{
公众客户()
{
Itemlst=新列表();
}
公共int Id{get;set;}
公共字符串名称{get;set;}
公共列表项lst{get;set;}
}
这是否回答了您的问题?您正在加载resultat.cshtml,但有一个名为List的方法。它是否会转到List方法,在那里您不会初始化对象?还是你的结果方法?方法和视图名称应相同。如何填充模型
?在控制器中,您没有初始化Itemlst。这就是错误告诉你的。在列表
方法中,您仍然没有初始化集合。你在对答案的评论中说你这样做了,但是你没有给我们展示正确的代码<代码>列表不是正在加载的视图的名称。结果是。你的结果在哪里method@johnsmith将@item.ID更改为@item.ID,然后重试。请从view.cshtml文件中提供更好的详细信息。如何在视图中接收模型?
@foreach(var item in Model.Itemlst)
{
<tr>
<td>Items ID:</td>
<td>@item.ID</td>
<td>Items Name:</td>
<td>@item.Name</td>
</tr>
}
</table>
<form asp-controller="Home" asp-action="resultat" method="post" runat="server">
<div class="form-style-5">
<table>
<tr>
<td>
ID :
</td>
<td>
<input type="number" name="Id" required />
</td>
</tr>
<tr>
<td>
Name :
</td>
<td>
<input type="number" name="Name" required />
</td>
</tr>
<tr>
<td>
<input type="submit" name="resultat" value="show solution" />
</td>
</tr>
</table>
</div>
</form>
public class Customers
{
public Customers()
{
Itemlst = new List<Customers>();
}
public int Id { get; set; }
public string Name { get; set; }
public List<Customers> Itemlst { get; set; }
}