私のコードを以下に示しました。編集ボタンをクリックするとレコードが編集されるはずですが、代わりに新しいレコードが追加されます。誰かが私が間違ってやっていることを見ることができますか?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,
});
}
}
if(id.HasValue)ではなくid == nullを使用する – Stormhashe
AddではなくAddOrUpdateにする必要がありますか? –