【发布时间】:2019-12-06 19:16:15
【问题描述】:
我正在使用 ASP.NET MVC 构建网站,我需要将表单的值保存在表中,因此我使用 foreach 作为转发器,但出现错误
NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet。 AspNetCore.Views_Home_Resultat.ExecuteAsync() in Resultat.cshtml + @foreach (var item in Model.Itemlst)
型号:
public class Customers
{
public int Id { get; set; }
public string Name { get; set; }
public List<Customers> Itemlst { get; set; }
}
控制器:
public ActionResult List()
{
Customers itemobj = new Customers();
return View(itemobj);
}
查看:
@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>
【问题讨论】:
-
这能回答你的问题吗? repeater foreach in asp.net mvc
-
您正在加载 resultat.cshtml,但有一个名为 List 的方法。它甚至会转到未初始化对象的 List 方法吗?还是您的 Resultat 方法?方法和视图名称应该相同。
-
如何填充
Model? -
来自控制器
-
您没有初始化 Itemlst。这就是错误告诉你的。在您的
list方法中,您仍然没有初始化集合。您说您正在对答案发表评论,但是您没有向我们展示正确的代码。List不是正在加载的视图的名称。结果是。你的 Resultat() 方法在哪里
标签: c# asp.net-mvc razor