下拉菜单中选择的值不会传递到控制器

时间:2018-08-08 17:51:13

标签: c# asp.net-core-mvc

我跟随Select Tag Helper in ASP.NET Core MVC从方法调用中填充了多选下拉列表,但是我选择的值没有传递给控制器​​。

<form asp-controller="ApiController" asp-action="Usage">
<label asp-for="Api"></label>
<div>
    <select id="api" class="form-control" asp-for="Api" asp-items="@Model.Api">

    </select>
</div>
</form>

此下拉菜单中的选项包含所有Apis。

模型

public class Model
{
    public List<SelectListItem> Api { get; set; }
}

当我看一下动作方法时,模型的Api值为Null

1 个答案:

答案 0 :(得分:0)

$("#address").on("keyup keydown keypress", function () { var shift_key = key; setTimeout(function(){ $("#address").on("blur focusout", function () { var shift_key = key; }); }, 400); }); 标记保存选定的项目,它不应与asp-for中设置的集合相同。 因此,在像这样的模型上添加一个新属性,该属性与API的SelectListItems的值类型集匹配(在本示例中为int)

asp-items

并将其用于所选项目的选择标签上

public class Model
{
    public int selectedApi { get; set; }
    public List<SelectListItem> Api { get; set; }
}