MVC C#编辑功能是添加而不是编辑
问题描述:
我在下面包含了我的代码,它应该在您单击编辑按钮时编辑记录,而是添加新记录。任何人都可以看到我做错了吗?MVC C#编辑功能是添加而不是编辑
查看
<a href="@Url.Action("Data","Admin", new { id=data.Id })" id="launchBtn" class="btn btn-default">Edit</a>
控制器
public ActionResult Data(int? id)
{
DataVM vm;
if(id == null)
{
vm = new DataVM();
}
else
{
var dbData = _dataRepository.FindById(id.Value);
vm = _mapper.Map<DadaVM>(dbData);
}
this.SetExistingDataFormList(vm);
return View(vm);
}
private void SetExistingDataFormList(ContentVM vm)
{
var datas = _dataRepository.GetDataEndpoints();
foreach (var data in datas)
{
vm.Datas.Add(new DataVM
{
Id = content.Id,
});
}
}
答
您SetExistingDataFormList方法只添加新元素,它doenst在代码的任何地方对其进行更新。另外,“内容”变量在哪里?
另外,使用可为空的int的HasValue属性,而不是id == null。
+0
对于可为空的变量'id == null'和'!id.HasValue'等于 –
+0
是的,但是如果您可以使用每个可空对象上可用的属性更容易阅读,那么使用id == null会有什么意义 – Stormhashe
你应该使用if(id.HasValue)而不是id == null – Stormhashe
不应该是AddOrUpdate而不是Add? –