【发布时间】:2019-01-21 03:39:27
【问题描述】:
我想通过执行以下操作来更新默认方案以一次插入多条记录。
在提交表单时,将数据提交到列表/表格并显示在同一页面上。可能正在使用 Ajax 或服务器端。
在最终提交帖子中,将所有记录插入数据库。
我的实体
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>
这里一切都适用于向数据库插入单条记录。
请建议我实现这一目标的方法。
【问题讨论】:
-
或者您可以创建 HTML 表格(带有动态行),从用户那里获取数据并将所有数据保存在表单发布中。
-
是的,有可能。您可以发布示例或此类参考链接吗?
-
类似this
标签: c# razor-pages asp.net-core-2.1