Я пытаюсь ознакомиться с asp. net с. net core 3.1 и пытаюсь воспроизвести приложение WPF, которое я написал.
У меня есть объект с наблюдаемой коллекцией , когда я пытаюсь добавить новый объект в пользовательский интерфейс, он сохраняет только один из объектов в базу данных.
Мой объект:
[BsonIgnoreExtraElements]
[Serializable]
public class Order : BaseModel
{
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
[BsonElement("OrderNumber")]
public string OrderNumber { get; set; }
...
[BsonElement("MillingJobList")]
public ObservableCollection<MillingJob> MillingJobList = new ObservableCollection<MillingJob>();
...}
Мой пользовательский интерфейс:
...
<div class="form-group">
<input type="submit" value="Save" name="editbtn" class="btn btn-primary" />
</div>
<div class="form-group">
<input type="submit" value="Add" name="editbtn" class="btn btn-primary" />
</div>
</form>
</div>
Контроллер:
// POST: Order/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(string editbtn,string id, Order order)
{
switch (editbtn)
{
case "Add":
{
MillingJob m = new MillingJob();
ObjectId Id = new ObjectId();
Id = ObjectId.GenerateNewId();
m.Id = id.ToString();
order.MillingJobListList.Add(m);
orderRep.Update(id, order);
return View(order);
}
}
if (id != order.Id.ToString())
{
return NotFound();
}
if (ModelState.IsValid)
{
orderRep.Update(id, order);
return RedirectToAction(nameof(Index));
}
else
{
return View(order);
}
}
Это очень экспериментальный атм, я нашел несколько почти знакомых нитей, но они не помогли и стали очень сложными. Не вижу причины, почему это не работает. Когда я добавляю точку останова к методу Post перед добавлением объекта, появляется один элемент после order.MillingJobListList.Add (m); это все еще только один элемент в списке. Попробовал с "вставкой" без удачи.