通过 ASP.NET Core 3.1/5.0 MVC 中的脚本使用选定的“'value='”填充数据库

Populate a Datebase with the selected ''value='' through a Script in ASP.NET Core 3.1/5.0 MVC

在我的 View cshtml 文件中,我有一个与此类似的代码:

....
<div class="select">
<select name="slct" id="slct">
<option selected disabled>Select 1</option>
<option value=1>Option 1</option>
<option value=2>Option 2</option>
<option value=3>Option 4</option>
....
 </select>
 </div>
....
<div class="select">
<select name="slct" id="slct">
<option selected disabled>Select N</option>
<option value=100>Option 100</option>
<option value=101>Option 101</option>
<option value=102>Option 102</option>
....
 </select>
 </div>
....

基本上是 N 次选择,有 N 种可能的选择。

我想要实现的是,当我在视图中按下一个按钮时,在选择了 N 个选项之后,将一定数量的 N 个表插入到数据库中,我想通过一个脚本来完成这个在 cshtml 文件中代码末尾的类型:

<script src="~/assets/js/jquery.min.js"></script>
<script>
    $("something").on('something2', function (e) {
        var.........blablablah
    });
</script>

我如何制作一个脚本来收集选择中选择的所有值,并通过按钮正确调用它?我应该在视图的控制器中实现什么代码,以便它接收此数据并使用“_context”将其输入数据库?

我创建了一个包含变量“选项”和“日期”的模型,在我的视图中生成了一个界面,允许为特定日期选择其中一个“选项”(每个日期都是 Select),我想要的是,当我按下按钮时,这将插入到模型的数据库 X 表中,并使用我为相应日期选择的“选项”。

我希望我解释得很好,如果不是这样,我提前道歉。我是 ASP dot NET 上编程的新手,我在理解视图代码如何真正与控制器通信时遇到问题,因为我正在使用 Visual Studio 2019 编写我的应用程序,而且大部分代码非常...可以说是自动化的,这让我很困惑。

我的应用程序的真实代码太大而且是私有的,因为是给公司的,所以我没有放它,所以我觉得以这种方式提出我的问题会更好。

编辑: 考虑到模型的代码与此类似。

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;

namespace Appp.Models
{
    public class OptionDates
    {
        [Key]
        public int Id { get; set; }
        [Required]
        public string Option { get; set; }
        public DateTime Date { get; set; }
    }

What I want to achieve is that when I press a button in the View, after choosing N options

对于此要求,无需使用 jquery,只需使用默认表单提交,如下所示:

<form asp-action="Create">
    <div class="select">
        <select name="slct" id="slct">
            <option selected disabled>Select 1</option>
            <option value=1>Option 1</option>
            <option value=2>Option 2</option>
            <option value=3>Option 3</option>
        </select>
    </div>
    <div class="select">
        <select name="slct" id="slct">
            <option selected disabled>Select 2</option>
            <option value=4>Option 4</option>
            <option value=5>Option 5</option>
            <option value=6>Option 6</option>
        </select>
    </div>
    <div class="select">
        <select name="slct" id="slct">
            <option selected disabled>Select 3</option>
            <option value=7>Option 7</option>
            <option value=8>Option 8</option>
            <option value=9>Option 9</option>
        </select>
    </div>
    <input type="submit" value="post" />
</form>

控制器:

[HttpPost]
public IActionResult Create(List<int> slct)   
{

    return View("Privacy");
}

结果:

更新:

如何使用jquery将选中的值列表传递给后台,可以参考:

 <script>
    $("input[type=button]").click(function () {
        var data = [];
        var elems = document.querySelectorAll('#slct');
        elems.forEach(function (el) {
            data.push(el.options[el.selectedIndex].value)
        })
        $.ajax({
            url: "/Home/Create",
            type: "Post",
            data: { slct: data }
        })
    });
    
</script>