【发布时间】:2016-01-11 07:12:19
【问题描述】:
我正在尝试扩展 Steve Woods 'To Do List' ASP.Net 5 MVC 6 项目,方法是添加 Percent Complete 字段,并允许编辑每个 ToDoListItem 的 Percent Complete。 p>
Let's Build - Steve Woods ToDoList
我的视图显示数据,我可以输入新的完成百分比值;但是,当我单击保存时,一条新的空记录将写入我的 ToDoListItems 表。新记录也不包含我输入的完成百分比数字。
我的视图包含@model
@model IEnumerable<todoy6.Models.ToDoListItems>
我正在使用 asp-action 来返回(发布)到控制器
<form asp-action="Index">
然后视图包含一个像这样布局的表格
@foreach (ToDoListItems item in (IEnumerable<ToDoListItems>)ViewData["ToDoListItems"])
{
<tr>
<td>
<input type="hidden" name="[@item.ID].ID" value="@item.ID" />
</td>
<td>
<input type="hidden" name="[@item.ID].ApplicationUserID" value="@item.ApplicationUserID" />
</td>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
<div class="form-group">
@*<label asp-for=@item.Price class="col-md-2 control-label"></label>*@
<div class="col-md-10">
<input asp-for=@item.Pct class="form-control" />
<span asp-validation-for=@item.Pct class="text-danger" />
</div>
</div>
</td>
</tr>
} @*for each *@
我认为我的问题在于我使用 @Item.ID 值遍历 ToDoListItems 的方式。
我的控制器正在运行此代码:
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Index(ToDoListItems todoitems) //declare and name the todolistitems object returned on POST
{
if (ModelState.IsValid)
{
_context.Update(todoitems);
_context.SaveChanges();
return RedirectToAction("Index");
}
return View(todoitems);
}
我的模型是有效的,但修改后的记录似乎无法识别(没有 ID?)并作为新记录输入到表中。
【问题讨论】:
标签: asp.net-core-mvc