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。