Я хочу обновить сценарий по умолчанию, чтобы вставить несколько записей за раз, выполнив следующие действия.
При отправке формы данные должны быть отправлены в список/таблицу и отображаться на той же странице. Может быть с использованием Ajax или на стороне сервера.
В сообщении Final Submit вставьте все записи в БД.
Моя сущность
public class ItemAttribute
{
[Key]
public int ID { get; set; }
public int ItemID { get; set; }
public string UoM { get; set; }
public decimal SaleVal { get; set; }
[ForeignKey("ItemID")]
public Item Item { get; set; }
}
Моя модель создания
private readonly Test3.Models.Test3Context _context;
public CreateModel(Test3.Models.Test3Context context)
{ _context = context; }
public IActionResult OnGet()
{
ViewData["ItemID"] = new SelectList(_context.Item, "ItemID", "ItemID");
return Page();
}
[BindProperty]
public ItemAttribute ItemAttribute { get; set; }
public async Task<IActionResult> OnPostAsync()
{
_context.ItemAttribute.Add(ItemAttribute);
await _context.SaveChangesAsync();
return RedirectToPage("./Index");
}
Вот страница бритвы
<form method="post">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="ItemAttribute.ItemID" class="control-label"></label>
<select asp-for="ItemAttribute.ItemID" class ="form-control" asp-items="ViewBag.ItemID"></select>
</div>
<div class="form-group">
<label asp-for="ItemAttribute.UoM" class="control-label"></label>
<input asp-for="ItemAttribute.UoM" class="form-control" />
<span asp-validation-for="ItemAttribute.UoM" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ItemAttribute.SaleVal" class="control-label"></label>
<input asp-for="ItemAttribute.SaleVal" class="form-control" />
<span asp-validation-for="ItemAttribute.SaleVal" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
Здесь все работает для вставки одиночной записи в БД.
Пожалуйста, предложите мне способ добиться этого.