MVC C# 编辑功能是添加而不是编辑
MVC C# Edit feature is adding instead of editing
我在下面包含了我的代码,它应该在您单击编辑按钮时编辑记录,但它会添加一条新记录。谁能看出我做错了什么?
查看
<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 方法仅添加新元素,它不会在代码中的任何位置更新它们。另外,"content" 变量在哪里?
此外,使用可空 int 的 HasValue 属性,而不是 id == null。
我在下面包含了我的代码,它应该在您单击编辑按钮时编辑记录,但它会添加一条新记录。谁能看出我做错了什么?
查看
<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 方法仅添加新元素,它不会在代码中的任何位置更新它们。另外,"content" 变量在哪里?
此外,使用可空 int 的 HasValue 属性,而不是 id == null。