如何从2个(或多个)独立下拉ASP.NET Core MVC中获取数据?

问题描述 投票:0回答:1

我有2个独立的下拉列表。但是我无法从每个下拉列表中接收选定的值。如何将选定的ID传递给控制器​​?这是我的代码:

视图:

<form asp-controller="Aircrafts" asp-action="Compare" method="post" class="dropdown">
                    <select id="DropDown1" asp-for="@Model.Id" asp-items="@(new SelectList(@ViewBag.ListOfPlanes, "Id", "Name"))" onchange="this.form.submit();">
                        <option value="" selected disabled>Select vehicle</option>
                    </select>
                </form>
<br/>
<form asp-controller="Aircrafts" asp-action="Compare" method="post" class="dropdown">
                    <select id="DropDown2" asp-for="@Model.Id" asp-items="@(new SelectList(@ViewBag.ListOfPlanes, "Id", "Name"))" onchange="this.form.submit();">
                        <option value="" selected disabled>Select vehicle</option>
                    </select>
                </form>

Controller

不起作用

[HttpPost]
public IActionResult Compare(Plane DropDown1, Plane DropDown2) 
{
    return View();
}

模型

public class Plane
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int MaxSpeed { get; set; }
}
asp.net-core dropdown
1个回答
0
投票

将您的下拉列表都包含在单个表单标签中,例如

<form asp-controller="Aircrafts" asp-action="Compare" method="post" class="dropdown">
                    <select id="DropDown1" asp-for="@Model.Id" asp-items="@(new SelectList(@ViewBag.ListOfPlanes, "Id", "Name"))" onchange="this.form.submit();">
                        <option value="" selected disabled>Select vehicle</option>
                    </select>

                    <select id="DropDown2" asp-for="@Model.Id" asp-items="@(new SelectList(@ViewBag.ListOfPlanes, "Id", "Name"))" onchange="this.form.submit();">
                        <option value="" selected disabled>Select vehicle</option>
                    </select>
                </form>

选项2可以通过Ajax发送呼叫>

© www.soinside.com 2019 - 2024. All rights reserved.