为了账号安全,请及时绑定邮箱和手机立即绑定

在下拉列表中选择的值未传递给控制器

在下拉列表中选择的值未传递给控制器

C#
墨色风雨 2021-11-21 10:12:00
我按照ASP.NET Core MVC 中的 Select Tag Helper从方法调用填充多选下拉列表,但我选择的值没有传递给控制器。<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>此下拉列表中的选项包含所有 API。模型public class Model{    public List<SelectListItem> Api { get; set; }}当我查看 action 方法时,该模型具有NullApi的值。
查看完整描述

1 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

该asp-for标签中保存选中的项目,它不应该是一样的收集集合asp-items。因此,在模型上添加一个新属性,该属性与 API 的 SelectListItems 的值类型集相匹配(在此示例中使用 int),如下所示


public class Model

{

    public int selectedApi { get; set; }

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

}

并在所选项目的选择标签上使用它


<select id="api" class="form-control" asp-for="selectedApi" asp-items="@Model.Api">

</select>


查看完整回答
反对 回复 2021-11-21
  • 1 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信