Asp.net core 两个表单(1个ajax和1个常规post),同一页面上有一个模型

Asp.net core 两个表单(1个ajax和1个常规post),同一页面上有一个模型,asp.net-core,asp.net-core-mvc,razor-pages,Asp.net Core,Asp.net Core Mvc,Razor Pages,我有一个页面,根据VIN编号查找车辆信息,然后将其添加到网格中。查找是在模式弹出窗口上进行的,是一个简单的ajax调用,用于将数据加载到ViewComponent中 ViewComponent中的代码仅显示年份、品牌、型号等。。。而且它工作正常 现在的问题是。。。模态仍然打开,并在Viewcomponent中显示所有车辆数据。这里有一个表格,需要一些额外的信息。现在我需要提交这个表单,它应该包含所有CurrentVehicleInfo值,以及刚刚分配给CurrentVehicleInfo类中附加

我有一个页面,根据VIN编号查找车辆信息,然后将其添加到网格中。查找是在模式弹出窗口上进行的,是一个简单的ajax调用,用于将数据加载到ViewComponent中

ViewComponent中的代码仅显示年份、品牌、型号等。。。而且它工作正常

现在的问题是。。。模态仍然打开,并在Viewcomponent中显示所有车辆数据。这里有一个表格,需要一些额外的信息。现在我需要提交这个表单,它应该包含所有CurrentVehicleInfo值,以及刚刚分配给CurrentVehicleInfo类中附加属性的附加信息。 此提交应关闭模式,并将车辆添加到主页上的网格中

当我添加车辆(OnPostAddVehicle功能)时,CurrentVehicleInfo具有所有默认值,而不是我查找的值

我认为问题在于,在执行Ajax调用时,我没有保留CurrentVehcileInfo的值。由于它是一个单独的形式,我不能将它们存储在一个隐藏的字段中。我如何做到这一点

下面是示例代码

这是VinLookup表单(使用Ajax的常规表单)

附加表格为

                <form method="post" asp-page-handler="AddVehicle">
                    <input type="hidden" asp-for="CurrentVehicleInfo.Year" />
                    <input type="hidden" asp-for="CurrentVehicleInfo.Make" />
                    <input type="hidden" asp-for="CurrentVehicleInfo.Model" />
                    <button type="submit" class="btn btn-primary">Add Vehicle to Booking</button>
                </form>

首先,您可以使用浏览器开发人员工具中的“网络”选项卡来确认正在发布的值(如果有),其次,您可以使用JavaScript在隐藏字段中设置值。JS可以访问DOM中的任何内容,包括所有表单中的表单字段。感谢您的帮助。我想我在没有javascript的情况下缺少了一些东西。最后,我在两个表单上都创建了隐藏字段,在ajax调用的OnSuccess中,我将数据从一个表单复制到另一个表单。首先,您可以使用浏览器开发人员工具中的“网络”选项卡确认发布了哪些值(如果有),其次,您可以使用JavaScript设置隐藏字段中的值。JS可以访问DOM中的任何内容,包括所有表单中的表单字段。感谢您的帮助。我想我在没有javascript的情况下缺少了一些东西。最后,我在两个表单上都创建了隐藏字段,在ajax调用的OnSuccess中,我将数据从一个表单复制到另一个表单。
    [BindProperty]
    public Vehicle CurrentVehicleInfo { get; set; } = new Vehicle();
    [BindProperty]
    public List<Vehicle> CurrentVehicles { get; set; } = new List<Vehicle>();
        public IActionResult OnPostValidateVinAsync(string vinNumber)
    {
        ValidateVin();
        return ViewComponent("VehicleInformation", CurrentVehicleInfo);
    }
                <form method="post" asp-page-handler="AddVehicle">
                    <input type="hidden" asp-for="CurrentVehicleInfo.Year" />
                    <input type="hidden" asp-for="CurrentVehicleInfo.Make" />
                    <input type="hidden" asp-for="CurrentVehicleInfo.Model" />
                    <button type="submit" class="btn btn-primary">Add Vehicle to Booking</button>
                </form>
        public IActionResult OnPostAddVehicle()
    {
        var test = CurrentVehicleInfo;
        return Page();
    }