【发布时间】:2015-05-22 16:17:42
【问题描述】:
我正在尝试使用asp.net mvc 4 和EF6 创建一个网站,我想一次更新多行。但由于某种原因,它不起作用,我收到这样的错误,
System.NullReferenceException:对象引用未设置为对象的实例
这是我的代码,
控制器
[HttpPost]
public ActionResult MakeDue(List<BillCheck> BillLists)
{
if (Session["username"] != null)
{
if (ModelState.IsValid)
{
foreach (var BillId in BillLists)
{
var getDue = db.BillChecks.Where(p => p.id == BillId.id).FirstOrDefault();
getDue.due = BillId.due;
}
db.SaveChanges();
return RedirectToAction("Success");
}
else
{
return RedirectToAction("Failed");
}
}
else
{
return RedirectToAction("Login");
}
}
查看
@using (Html.BeginForm("MakeDue", "Home"))
{
@Html.ValidationSummary(true)
@foreach(var item in Model.DueList)
{
@Html.HiddenFor(modelItem => item.id)
<tr>
<td>@Html.DisplayFor(modelItem => item.flat)</td>
<td>@Html.DisplayFor(modelItem => item.name)</td>
<td>@Html.TextBoxFor(modelItem => item.due)</td>
</tr>
}
<input type="submit" class="btn btn-success" value="Update" />
}
我的代码有问题吗?如何一次更新due 的所有输入?
【问题讨论】:
-
在你的控制器中发现
getDue可以为空。 -
DueList和BillList长什么样子? -
你在哪一行得到异常?
-
NullReferenceException的几乎所有情况都是相同的。请参阅“What is a NullReferenceException and how do I fix it?”获取一些提示。 -
@JohnSaunders,请仔细阅读我的问题。我有一个与
NullReferenceException高度无关的特定问题。我只想知道一次更新多条记录。您给定的帖子对我来说不是解决方案。所以它不是重复的。
标签: c# asp.net asp.net-mvc